hssqlppp 0.3.1 → 0.4.0
raw patch · 19 files changed
+30135/−29266 lines, 19 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Database.HsSqlPpp.Annotation: getAnnotations :: Data a => a -> [Annotation]
- Database.HsSqlPpp.Annotation: resetAnnotations :: Data a => a -> a
- Database.HsSqlPpp.Annotation: type StatementType = ([Type], [(String, Type)])
- Database.HsSqlPpp.Annotation: updateAnnotations :: Data a => (Annotation -> Annotation) -> a -> a
- Database.HsSqlPpp.Ast: SQIdentifier :: (Annotation) -> (([String])) -> SQIdentifier
- Database.HsSqlPpp.Ast: data SQIdentifier
- Database.HsSqlPpp.Ast: type StringTypeNameListPair = (String, TypeNameList)
- Database.HsSqlPpp.Ast: type StringTypeNameListPairList = [StringTypeNameListPair]
- Database.HsSqlPpp.Parser: parseSqlServerQueryExpr :: String -> String -> Either ParseErrorExtra QueryExpr
+ Database.HsSqlPpp.Annotation: type ParameterizedStatementType = ([Type], [(String, Type)])
+ Database.HsSqlPpp.Ast: AggregateFn :: (Annotation) -> (Distinct) -> (ScalarExpr) -> (ScalarExprDirectionPairList) -> ScalarExpr
+ Database.HsSqlPpp.Ast: AntiScalarExpr :: (String) -> ScalarExpr
+ Database.HsSqlPpp.Ast: AntiStatement :: (String) -> Statement
+ Database.HsSqlPpp.Ast: AntiTriggerEvent :: String -> TriggerEvent
+ Database.HsSqlPpp.Ast: MultiSetClause :: (Annotation) -> (([NameComponent])) -> (ScalarExpr) -> SetClause
+ Database.HsSqlPpp.Ast: Name :: (Annotation) -> (([NameComponent])) -> Name
+ Database.HsSqlPpp.Ast: Nmc :: String -> NameComponent
+ Database.HsSqlPpp.Ast: QNmc :: String -> NameComponent
+ Database.HsSqlPpp.Ast: QStar :: (Annotation) -> (NameComponent) -> ScalarExpr
+ Database.HsSqlPpp.Ast: SetClause :: (Annotation) -> (NameComponent) -> (ScalarExpr) -> SetClause
+ Database.HsSqlPpp.Ast: Star :: (Annotation) -> ScalarExpr
+ Database.HsSqlPpp.Ast: data Name
+ Database.HsSqlPpp.Ast: data NameComponent
+ Database.HsSqlPpp.Ast: data SetClause
+ Database.HsSqlPpp.Ast: ncStr :: NameComponent -> String
+ Database.HsSqlPpp.Ast: type NameTypeNameListPair = (Name, TypeNameList)
+ Database.HsSqlPpp.Ast: type NameTypeNameListPairList = [NameTypeNameListPair]
+ Database.HsSqlPpp.Ast: type SetClauseList = [SetClause]
+ Database.HsSqlPpp.Types: FdwHandler :: PseudoType
- Database.HsSqlPpp.Annotation: Annotation :: Maybe SourcePosition -> Maybe Type -> [TypeError] -> Maybe StatementType -> [CatalogUpdate] -> Maybe FunctionPrototype -> Maybe Type -> Annotation
+ Database.HsSqlPpp.Annotation: Annotation :: Maybe SourcePosition -> Maybe Type -> [TypeError] -> Maybe ParameterizedStatementType -> [CatalogUpdate] -> Maybe FunctionPrototype -> Maybe Type -> Annotation
- Database.HsSqlPpp.Annotation: stType :: Annotation -> Maybe StatementType
+ Database.HsSqlPpp.Annotation: stType :: Annotation -> Maybe ParameterizedStatementType
- Database.HsSqlPpp.Ast: AlterColumnDefault :: (Annotation) -> (String) -> (ScalarExpr) -> AlterTableAction
+ Database.HsSqlPpp.Ast: AlterColumnDefault :: (Annotation) -> (NameComponent) -> (ScalarExpr) -> AlterTableAction
- Database.HsSqlPpp.Ast: AlterSequence :: (Annotation) -> (String) -> (SQIdentifier) -> Statement
+ Database.HsSqlPpp.Ast: AlterSequence :: (Annotation) -> (Name) -> (Name) -> Statement
- Database.HsSqlPpp.Ast: AlterTable :: (Annotation) -> (String) -> (AlterTableActionList) -> Statement
+ Database.HsSqlPpp.Ast: AlterTable :: (Annotation) -> (Name) -> (AlterTableActionList) -> Statement
- Database.HsSqlPpp.Ast: Assignment :: (Annotation) -> (ScalarExpr) -> (ScalarExpr) -> Statement
+ Database.HsSqlPpp.Ast: Assignment :: (Annotation) -> (Name) -> (ScalarExpr) -> Statement
- Database.HsSqlPpp.Ast: AttributeDef :: (Annotation) -> (String) -> (TypeName) -> (MaybeScalarExpr) -> (RowConstraintList) -> AttributeDef
+ Database.HsSqlPpp.Ast: AttributeDef :: (Annotation) -> (NameComponent) -> (TypeName) -> (MaybeScalarExpr) -> (RowConstraintList) -> AttributeDef
- Database.HsSqlPpp.Ast: Copy :: (Annotation) -> (String) -> (([String])) -> (CopySource) -> Statement
+ Database.HsSqlPpp.Ast: Copy :: (Annotation) -> (Name) -> (([NameComponent])) -> (CopySource) -> Statement
- Database.HsSqlPpp.Ast: CreateDomain :: (Annotation) -> (String) -> (TypeName) -> (String) -> (MaybeBoolExpr) -> Statement
+ Database.HsSqlPpp.Ast: CreateDomain :: (Annotation) -> (Name) -> (TypeName) -> (String) -> (MaybeBoolExpr) -> Statement
- Database.HsSqlPpp.Ast: CreateFunction :: (Annotation) -> (String) -> (ParamDefList) -> (TypeName) -> (Replace) -> (Language) -> (FnBody) -> (Volatility) -> Statement
+ Database.HsSqlPpp.Ast: CreateFunction :: (Annotation) -> (Name) -> (ParamDefList) -> (TypeName) -> (Replace) -> (Language) -> (FnBody) -> (Volatility) -> Statement
- Database.HsSqlPpp.Ast: CreateSequence :: (Annotation) -> (String) -> (Integer) -> (Integer) -> (Integer) -> (Integer) -> (Integer) -> Statement
+ Database.HsSqlPpp.Ast: CreateSequence :: (Annotation) -> (Name) -> (Integer) -> (Integer) -> (Integer) -> (Integer) -> (Integer) -> Statement
- Database.HsSqlPpp.Ast: CreateTable :: (Annotation) -> (String) -> (AttributeDefList) -> (ConstraintList) -> Statement
+ Database.HsSqlPpp.Ast: CreateTable :: (Annotation) -> (Name) -> (AttributeDefList) -> (ConstraintList) -> Statement
- Database.HsSqlPpp.Ast: CreateTableAs :: (Annotation) -> (String) -> (QueryExpr) -> Statement
+ Database.HsSqlPpp.Ast: CreateTableAs :: (Annotation) -> (Name) -> (QueryExpr) -> Statement
- Database.HsSqlPpp.Ast: CreateTrigger :: (Annotation) -> (String) -> (TriggerWhen) -> (([TriggerEvent])) -> (String) -> (TriggerFire) -> (String) -> (ScalarExprList) -> Statement
+ Database.HsSqlPpp.Ast: CreateTrigger :: (Annotation) -> (NameComponent) -> (TriggerWhen) -> (([TriggerEvent])) -> (Name) -> (TriggerFire) -> (Name) -> (ScalarExprList) -> Statement
- Database.HsSqlPpp.Ast: CreateType :: (Annotation) -> (String) -> (TypeAttributeDefList) -> Statement
+ Database.HsSqlPpp.Ast: CreateType :: (Annotation) -> (Name) -> (TypeAttributeDefList) -> Statement
- Database.HsSqlPpp.Ast: CreateView :: (Annotation) -> (String) -> ((Maybe [String])) -> (QueryExpr) -> Statement
+ Database.HsSqlPpp.Ast: CreateView :: (Annotation) -> (Name) -> (MaybeNameComponentList) -> (QueryExpr) -> Statement
- Database.HsSqlPpp.Ast: Delete :: (Annotation) -> (SQIdentifier) -> (TableRefList) -> (MaybeBoolExpr) -> (MaybeSelectList) -> Statement
+ Database.HsSqlPpp.Ast: Delete :: (Annotation) -> (Name) -> (TableRefList) -> (MaybeBoolExpr) -> (MaybeSelectList) -> Statement
- Database.HsSqlPpp.Ast: DropFunction :: (Annotation) -> (IfExists) -> (StringTypeNameListPairList) -> (Cascade) -> Statement
+ Database.HsSqlPpp.Ast: DropFunction :: (Annotation) -> (IfExists) -> (NameTypeNameListPairList) -> (Cascade) -> Statement
- Database.HsSqlPpp.Ast: DropSomething :: (Annotation) -> (DropType) -> (IfExists) -> (([String])) -> (Cascade) -> Statement
+ Database.HsSqlPpp.Ast: DropSomething :: (Annotation) -> (DropType) -> (IfExists) -> (([Name])) -> (Cascade) -> Statement
- Database.HsSqlPpp.Ast: ForIntegerStatement :: (Annotation) -> ((Maybe String)) -> (ScalarExpr) -> (ScalarExpr) -> (ScalarExpr) -> (StatementList) -> Statement
+ Database.HsSqlPpp.Ast: ForIntegerStatement :: (Annotation) -> ((Maybe String)) -> (NameComponent) -> (ScalarExpr) -> (ScalarExpr) -> (StatementList) -> Statement
- Database.HsSqlPpp.Ast: ForQueryStatement :: (Annotation) -> ((Maybe String)) -> (ScalarExpr) -> (QueryExpr) -> (StatementList) -> Statement
+ Database.HsSqlPpp.Ast: ForQueryStatement :: (Annotation) -> ((Maybe String)) -> (NameComponent) -> (QueryExpr) -> (StatementList) -> Statement
- Database.HsSqlPpp.Ast: FullAlias :: (Annotation) -> (String) -> (([String])) -> TableAlias
+ Database.HsSqlPpp.Ast: FullAlias :: (Annotation) -> (NameComponent) -> (([NameComponent])) -> TableAlias
- Database.HsSqlPpp.Ast: FunCall :: (Annotation) -> (String) -> (ScalarExprList) -> ScalarExpr
+ Database.HsSqlPpp.Ast: FunCall :: (Annotation) -> (Name) -> (ScalarExprList) -> ScalarExpr
- Database.HsSqlPpp.Ast: Identifier :: (Annotation) -> (String) -> ScalarExpr
+ Database.HsSqlPpp.Ast: Identifier :: (Annotation) -> (NameComponent) -> ScalarExpr
- Database.HsSqlPpp.Ast: Insert :: (Annotation) -> (SQIdentifier) -> (([String])) -> (QueryExpr) -> (MaybeSelectList) -> Statement
+ Database.HsSqlPpp.Ast: Insert :: (Annotation) -> (Name) -> (([NameComponent])) -> (QueryExpr) -> (MaybeSelectList) -> Statement
- Database.HsSqlPpp.Ast: Into :: (Annotation) -> (Bool) -> (ScalarExprList) -> (Statement) -> Statement
+ Database.HsSqlPpp.Ast: Into :: (Annotation) -> (Bool) -> (([Name])) -> (Statement) -> Statement
- Database.HsSqlPpp.Ast: JoinUsing :: (Annotation) -> (([String])) -> JoinExpr
+ Database.HsSqlPpp.Ast: JoinUsing :: (Annotation) -> (([NameComponent])) -> JoinExpr
- Database.HsSqlPpp.Ast: ParamAlias :: (Annotation) -> (String) -> (Integer) -> VarDef
+ Database.HsSqlPpp.Ast: ParamAlias :: (Annotation) -> (NameComponent) -> (Integer) -> VarDef
- Database.HsSqlPpp.Ast: ParamDef :: (Annotation) -> (String) -> (TypeName) -> ParamDef
+ Database.HsSqlPpp.Ast: ParamDef :: (Annotation) -> (NameComponent) -> (TypeName) -> ParamDef
- Database.HsSqlPpp.Ast: PrimaryKeyConstraint :: (Annotation) -> (String) -> (([String])) -> Constraint
+ Database.HsSqlPpp.Ast: PrimaryKeyConstraint :: (Annotation) -> (String) -> (([NameComponent])) -> Constraint
- Database.HsSqlPpp.Ast: QIdentifier :: (Annotation) -> (ScalarExpr) -> (String) -> ScalarExpr
+ Database.HsSqlPpp.Ast: QIdentifier :: (Annotation) -> (([NameComponent])) -> ScalarExpr
- Database.HsSqlPpp.Ast: ReferenceConstraint :: (Annotation) -> (String) -> (([String])) -> (String) -> (([String])) -> (Cascade) -> (Cascade) -> Constraint
+ Database.HsSqlPpp.Ast: ReferenceConstraint :: (Annotation) -> (String) -> (([NameComponent])) -> (Name) -> (([NameComponent])) -> (Cascade) -> (Cascade) -> Constraint
- Database.HsSqlPpp.Ast: RowReferenceConstraint :: (Annotation) -> (String) -> (String) -> ((Maybe String)) -> (Cascade) -> (Cascade) -> RowConstraint
+ Database.HsSqlPpp.Ast: RowReferenceConstraint :: (Annotation) -> (String) -> (Name) -> ((Maybe NameComponent)) -> (Cascade) -> (Cascade) -> RowConstraint
- Database.HsSqlPpp.Ast: SelectItem :: (Annotation) -> (ScalarExpr) -> (String) -> SelectItem
+ Database.HsSqlPpp.Ast: SelectItem :: (Annotation) -> (ScalarExpr) -> (NameComponent) -> SelectItem
- Database.HsSqlPpp.Ast: TableAlias :: (Annotation) -> (String) -> TableAlias
+ Database.HsSqlPpp.Ast: TableAlias :: (Annotation) -> (NameComponent) -> TableAlias
- Database.HsSqlPpp.Ast: Tref :: (Annotation) -> (SQIdentifier) -> (TableAlias) -> TableRef
+ Database.HsSqlPpp.Ast: Tref :: (Annotation) -> (Name) -> (TableAlias) -> TableRef
- Database.HsSqlPpp.Ast: Truncate :: (Annotation) -> (([String])) -> (RestartIdentity) -> (Cascade) -> Statement
+ Database.HsSqlPpp.Ast: Truncate :: (Annotation) -> (([Name])) -> (RestartIdentity) -> (Cascade) -> Statement
- Database.HsSqlPpp.Ast: TypeAttDef :: (Annotation) -> (String) -> (TypeName) -> TypeAttributeDef
+ Database.HsSqlPpp.Ast: TypeAttDef :: (Annotation) -> (NameComponent) -> (TypeName) -> TypeAttributeDef
- Database.HsSqlPpp.Ast: UniqueConstraint :: (Annotation) -> (String) -> (([String])) -> Constraint
+ Database.HsSqlPpp.Ast: UniqueConstraint :: (Annotation) -> (String) -> (([NameComponent])) -> Constraint
- Database.HsSqlPpp.Ast: Update :: (Annotation) -> (SQIdentifier) -> (ScalarExprList) -> (TableRefList) -> (MaybeBoolExpr) -> (MaybeSelectList) -> Statement
+ Database.HsSqlPpp.Ast: Update :: (Annotation) -> (Name) -> (SetClauseList) -> (TableRefList) -> (MaybeBoolExpr) -> (MaybeSelectList) -> Statement
- Database.HsSqlPpp.Ast: VarAlias :: (Annotation) -> (String) -> (String) -> VarDef
+ Database.HsSqlPpp.Ast: VarAlias :: (Annotation) -> (NameComponent) -> (Name) -> VarDef
- Database.HsSqlPpp.Ast: VarDef :: (Annotation) -> (String) -> (TypeName) -> ((Maybe ScalarExpr)) -> VarDef
+ Database.HsSqlPpp.Ast: VarDef :: (Annotation) -> (NameComponent) -> (TypeName) -> ((Maybe ScalarExpr)) -> VarDef
- Database.HsSqlPpp.Ast: WindowFn :: (Annotation) -> (ScalarExpr) -> (ScalarExprList) -> (ScalarExprList) -> (Direction) -> (FrameClause) -> ScalarExpr
+ Database.HsSqlPpp.Ast: WindowFn :: (Annotation) -> (ScalarExpr) -> (ScalarExprList) -> (ScalarExprDirectionPairList) -> (FrameClause) -> ScalarExpr
- Database.HsSqlPpp.Ast: WithQuery :: (Annotation) -> (String) -> ((Maybe [String])) -> (QueryExpr) -> WithQuery
+ Database.HsSqlPpp.Ast: WithQuery :: (Annotation) -> (NameComponent) -> ((Maybe [NameComponent])) -> (QueryExpr) -> WithQuery
Files
- THANKS +2/−1
- hssqlppp.cabal +2/−2
- src/Database/HsSqlPpp/Annotation.lhs +5/−5
- src/Database/HsSqlPpp/Ast.lhs +7/−3
- src/Database/HsSqlPpp/Internals/AstAnnotation.lhs +5/−5
- src/Database/HsSqlPpp/Internals/AstAnti.hs +0/−967
- src/Database/HsSqlPpp/Internals/AstInternal.hs +15345/−14398
- src/Database/HsSqlPpp/Internals/Catalog/DefaultTemplate1Catalog.lhs +13735/−13040
- src/Database/HsSqlPpp/Internals/TypeChecking/IDEnv.lhs +147/−0
- src/Database/HsSqlPpp/Internals/TypeChecking/LocalBindings.lhs +46/−0
- src/Database/HsSqlPpp/Internals/TypeChecking/LocalBindingsInternal.lhs +12/−8
- src/Database/HsSqlPpp/Internals/TypeChecking/TypeConversion.lhs +9/−1
- src/Database/HsSqlPpp/Internals/TypeType.lhs +8/−7
- src/Database/HsSqlPpp/Parser.lhs +0/−1
- src/Database/HsSqlPpp/Parsing/Lexer.lhs +36/−21
- src/Database/HsSqlPpp/Parsing/ParserInternal.lhs +296/−361
- src/Database/HsSqlPpp/Pretty.lhs +455/−415
- src/Database/HsSqlPpp/Quote.lhs +24/−29
- src/Database/HsSqlPpp/Utils/Utils.lhs +1/−2
THANKS view
@@ -1,2 +1,3 @@-Christoph Bauer for testing and feedback on the API+Christoph Bauer for bug reports, testing and feedback on the API Hideki Kariya for bug reports and patches+Ilya Portnov for bug reports and suggestions
hssqlppp.cabal view
@@ -1,5 +1,5 @@ Name: hssqlppp-Version: 0.3.1+Version: 0.4.0 Synopsis: SQL parser and type checker License: BSD3 License-file: LICENSE@@ -57,11 +57,11 @@ Database.HsSqlPpp.Parsing.ParserInternal Database.HsSqlPpp.Internals.Catalog.CatalogInternal Database.HsSqlPpp.Internals.Catalog.DefaultTemplate1Catalog- Database.HsSqlPpp.Internals.AstAnti Database.HsSqlPpp.Internals.TypeChecking.TypeConversion Database.HsSqlPpp.Internals.TypeChecking.ErrorUtils Database.HsSqlPpp.Internals.TypeChecking.LocalBindings Database.HsSqlPpp.Internals.TypeChecking.Utils+ Database.HsSqlPpp.Internals.TypeChecking.IDEnv Database.HsSqlPpp.Internals.TypeChecking.LocalBindingsInternal Database.HsSqlPpp.Internals.AstAnnotation Database.HsSqlPpp.Internals.AnnotationUtils
src/Database/HsSqlPpp/Annotation.lhs view
@@ -10,14 +10,14 @@ > -- * Annotation data types > Annotation(..) > ,SourcePosition-> ,StatementType+> ,ParameterizedStatementType > ,getAnnotation-> ,updateAnnotations+> --,updateAnnotations > ,updateAnnotation-> ,getAnnotations+> --,getAnnotations > ,emptyAnnotation-> ,resetAnnotations+> --,resetAnnotations > ) where > > import Database.HsSqlPpp.Internals.AstAnnotation-> import Database.HsSqlPpp.Internals.AnnotationUtils+> --import Database.HsSqlPpp.Internals.AnnotationUtils
src/Database/HsSqlPpp/Ast.lhs view
@@ -35,10 +35,13 @@ > ,WithQuery(..) > ,IntervalField(..) > ,ExtractField(..)-> ,SQIdentifier(..)+> ,Name(..)+> ,NameComponent(..)+> ,ncStr > -- ** dml > ,CopySource (..) > ,RestartIdentity (..)+> ,SetClause(..) > -- ** ddl > ,AttributeDef (..) > ,RowConstraint (..)@@ -74,8 +77,8 @@ > ,ConstraintList > ,TypeAttributeDefList > ,TypeNameList-> ,StringTypeNameListPair-> ,StringTypeNameListPairList+> ,NameTypeNameListPair+> ,NameTypeNameListPairList > ,ScalarExprStatementListPairList > ,CaseScalarExprListScalarExprPairList > ,MaybeScalarExpr@@ -91,6 +94,7 @@ > ,ScalarExprDirectionPair > ,ScalarExprDirectionPairList > ,AlterTableActionList+> ,SetClauseList > ) where > > import Database.HsSqlPpp.Internals.AstInternal
src/Database/HsSqlPpp/Internals/AstAnnotation.lhs view
@@ -13,7 +13,7 @@ > ( > Annotation(..) > ,SourcePosition-> ,StatementType+> ,ParameterizedStatementType > ,getAnnotation > ,updateAnnotations > ,getAnnotations@@ -34,7 +34,7 @@ > -- | Represents a source file position, usually set by the parser. > type SourcePosition = (String,Int,Int) > -- | Statement type is used for getting type information for a parameterized statement.-> type StatementType = ([Type],[(String,Type)])+> type ParameterizedStatementType = ([Type],[(String,Type)]) > -- | Annotation type - one of these is attached to most of the > -- data types used in the ast.@@ -44,8 +44,8 @@ > ,atype :: Maybe Type > -- | any type errors > ,errs :: [TypeError]-> -- | 'statement type' - used for getting the in and out types of a parameterized statement-> ,stType :: Maybe StatementType+> -- | used for getting the in and out types of a parameterized statement+> ,stType :: Maybe ParameterizedStatementType > -- | any catalog updates that a ddl statement produces > ,catUpd :: [CatalogUpdate] > -- | the matched function prototype for a funcall@@ -134,7 +134,7 @@ hack job, often not interested in the source positions when testing the asts produced, so this function will reset all the source-positions to empty ("", 0, 0) so we can compare them for equality, etc.+positions to empty ("", 0, 0) so you can compare them for equality, etc. without having to get the positions correct. > -}
− src/Database/HsSqlPpp/Internals/AstAnti.hs
@@ -1,967 +0,0 @@-{--This file is autogenerated, to generate: load this file (MakeAntiNodes.lhs)-into ghci and run:-nwriteAntiNodes-n\nThe path might need tweaking.-n-}-{-# LANGUAGE DeriveDataTypeable #-}-module Database.HsSqlPpp.Internals.AstAnti- (convertStatements, convertScalarExpr, attributeDef, queryExpr,- Statement(..), QueryExpr(..), WithQuery(..), FnBody(..),- TableRef(..), TableAlias(..), JoinExpr(..), JoinType(..),- SelectList(..), SelectItem(..), CopySource(..), AttributeDef(..),- RowConstraint(..), AlterTableAction(..), Constraint(..),- TypeAttributeDef(..), ParamDef(..), VarDef(..), RaiseType(..),- CombineType(..), Volatility(..), Language(..), TypeName(..),- DropType(..), Cascade(..), Direction(..), Distinct(..),- Natural(..), IfExists(..), Replace(..), RestartIdentity(..),- ScalarExpr(..), SQIdentifier(..), IntervalField(..),- ExtractField(..), FrameClause(..), InList(..), LiftFlavour(..),- TriggerWhen(..), TriggerEvent(..), TriggerFire(..), SetValue(..),- WithQueryList, StatementList, ScalarExprListStatementListPairList,- ScalarExprListStatementListPair, ScalarExprList, ParamDefList,- AttributeDefList, ConstraintList, TypeAttributeDefList,- TypeNameList, StringTypeNameListPair, StringTypeNameListPairList,- ScalarExprStatementListPairList,- CaseScalarExprListScalarExprPairList, MaybeScalarExpr,- TableRefList, ScalarExprListList, SelectItemList, OnExpr,- RowConstraintList, VarDefList, ScalarExprStatementListPair,- CaseScalarExprListScalarExprPair, ScalarExprDirectionPair,- ScalarExprDirectionPairList, MaybeBoolExpr, MaybeSelectList,- AlterTableActionList)- where-import Data.Data-import Database.HsSqlPpp.Internals.AstAnnotation-import qualified Database.HsSqlPpp.Internals.AstInternal as A- -convertStatements :: [Statement] -> [A.Statement]-convertStatements = statementList- -convertScalarExpr :: ScalarExpr -> A.ScalarExpr-convertScalarExpr = scalarExpr- -data JoinType = Inner- | LeftOuter- | RightOuter- | FullOuter- | Cross- deriving (Show, Eq, Typeable, Data)- -data CopySource = CopyFilename String- | Stdin- deriving (Show, Eq, Typeable, Data)- -data SetValue = SetStr Annotation String- | SetId Annotation String- | SetNum Annotation Double- deriving (Show, Eq, Typeable, Data)- -data TriggerWhen = TriggerBefore- | TriggerAfter- deriving (Show, Eq, Typeable, Data)- -data TriggerEvent = TInsert- | TUpdate- | TDelete- | AntiTriggerEvent String- deriving (Show, Eq, Typeable, Data)- -data TriggerFire = EachRow- | EachStatement- deriving (Show, Eq, Typeable, Data)- -data RaiseType = RNotice- | RException- | RError- deriving (Show, Eq, Typeable, Data)- -data CombineType = Except- | Union- | Intersect- | UnionAll- deriving (Show, Eq, Typeable, Data)- -data Volatility = Volatile- | Stable- | Immutable- deriving (Show, Eq, Typeable, Data)- -data Language = Sql- | Plpgsql- deriving (Show, Eq, Typeable, Data)- -data DropType = Table- | Domain- | View- | Type- deriving (Show, Eq, Typeable, Data)- -data Cascade = Cascade- | Restrict- deriving (Show, Eq, Typeable, Data)- -data Direction = Asc- | Desc- deriving (Show, Eq, Typeable, Data)- -data Distinct = Distinct- | Dupes- deriving (Show, Eq, Typeable, Data)- -data Natural = Natural- | Unnatural- deriving (Show, Eq, Typeable, Data)- -data IfExists = Require- | IfExists- deriving (Show, Eq, Typeable, Data)- -data Replace = Replace- | NoReplace- deriving (Show, Eq, Typeable, Data)- -data RestartIdentity = RestartIdentity- | ContinueIdentity- deriving (Show, Eq, Typeable, Data)- -data LiftFlavour = LiftAny- | LiftAll- deriving (Show, Eq, Typeable, Data)- -data IntervalField = IntervalYear- | IntervalMonth- | IntervalDay- | IntervalHour- | IntervalMinute- | IntervalSecond- | IntervalYearToMonth- | IntervalDayToHour- | IntervalDayToMinute- | IntervalDayToSecond- | IntervalHourToMinute- | IntervalHourToSecond- | IntervalMinuteToSecond- deriving (Show, Eq, Typeable, Data)- -data ExtractField = ExtractCentury- | ExtractDay- | ExtractDecade- | ExtractDow- | ExtractDoy- | ExtractEpoch- | ExtractHour- | ExtractIsodow- | ExtractIsoyear- | ExtractMicroseconds- | ExtractMillennium- | ExtractMilliseconds- | ExtractMinute- | ExtractMonth- | ExtractQuarter- | ExtractSecond- | ExtractTimezone- | ExtractTimezoneHour- | ExtractTimezoneMinute- | ExtractWeek- | ExtractYear- deriving (Show, Eq, Typeable, Data)- -data FrameClause = FrameUnboundedPreceding- | FrameUnboundedFull- | FrameRowsUnboundedPreceding- deriving (Show, Eq, Typeable, Data)- -data AlterTableAction = AddConstraint Annotation Constraint- | AlterColumnDefault Annotation String ScalarExpr- deriving (Data, Eq, Show, Typeable)- -data AttributeDef = AttributeDef Annotation String TypeName- MaybeScalarExpr RowConstraintList- deriving (Data, Eq, Show, Typeable)- -data Constraint = CheckConstraint Annotation String ScalarExpr- | PrimaryKeyConstraint Annotation String [String]- | ReferenceConstraint Annotation String [String] String [String]- Cascade Cascade- | UniqueConstraint Annotation String [String]- deriving (Data, Eq, Show, Typeable)- -data FnBody = PlpgsqlFnBody Annotation Statement- | SqlFnBody Annotation StatementList- deriving (Data, Eq, Show, Typeable)- -data InList = InList Annotation ScalarExprList- | InQueryExpr Annotation QueryExpr- deriving (Data, Eq, Show, Typeable)- -data JoinExpr = JoinOn Annotation ScalarExpr- | JoinUsing Annotation [String]- deriving (Data, Eq, Show, Typeable)- -data ParamDef = ParamDef Annotation String TypeName- | ParamDefTp Annotation TypeName- deriving (Data, Eq, Show, Typeable)- -data QueryExpr = CombineQueryExpr Annotation CombineType QueryExpr- QueryExpr- | Select Annotation Distinct SelectList TableRefList MaybeBoolExpr- ScalarExprList MaybeBoolExpr ScalarExprDirectionPairList- MaybeScalarExpr MaybeScalarExpr- | Values Annotation ScalarExprListList- | WithQueryExpr Annotation WithQueryList QueryExpr- deriving (Data, Eq, Show, Typeable)- -data RowConstraint = NotNullConstraint Annotation String- | NullConstraint Annotation String- | RowCheckConstraint Annotation String ScalarExpr- | RowPrimaryKeyConstraint Annotation String- | RowReferenceConstraint Annotation String String (Maybe String)- Cascade Cascade- | RowUniqueConstraint Annotation String- deriving (Data, Eq, Show, Typeable)- -data SQIdentifier = SQIdentifier Annotation [String]- deriving (Data, Eq, Show, Typeable)- -data ScalarExpr = BooleanLit Annotation Bool- | Case Annotation CaseScalarExprListScalarExprPairList- MaybeScalarExpr- | CaseSimple Annotation ScalarExpr- CaseScalarExprListScalarExprPairList MaybeScalarExpr- | Cast Annotation ScalarExpr TypeName- | Exists Annotation QueryExpr- | Extract Annotation ExtractField ScalarExpr- | FunCall Annotation String ScalarExprList- | Identifier Annotation String- | InPredicate Annotation ScalarExpr Bool InList- | Interval Annotation String IntervalField (Maybe Int)- | LiftOperator Annotation String LiftFlavour ScalarExprList- | NullLit Annotation- | NumberLit Annotation String- | Placeholder Annotation- | PositionalArg Annotation Integer- | QIdentifier Annotation ScalarExpr String- | ScalarSubQuery Annotation QueryExpr- | StringLit Annotation String- | TypedStringLit Annotation TypeName String- | WindowFn Annotation ScalarExpr ScalarExprList ScalarExprList- Direction FrameClause- | AntiScalarExpr String- deriving (Data, Eq, Show, Typeable)- -data SelectItem = SelExp Annotation ScalarExpr- | SelectItem Annotation ScalarExpr String- deriving (Data, Eq, Show, Typeable)- -data SelectList = SelectList Annotation SelectItemList- deriving (Data, Eq, Show, Typeable)- -data Statement = AlterSequence Annotation String SQIdentifier- | AlterTable Annotation String AlterTableActionList- | Assignment Annotation ScalarExpr ScalarExpr- | Block Annotation (Maybe String) VarDefList StatementList- | CaseStatement Annotation ScalarExprListStatementListPairList- StatementList- | CaseStatementSimple Annotation ScalarExpr- ScalarExprListStatementListPairList StatementList- | ContinueStatement Annotation (Maybe String)- | Copy Annotation String [String] CopySource- | CopyData Annotation String- | CreateDomain Annotation String TypeName String MaybeBoolExpr- | CreateFunction Annotation String ParamDefList TypeName Replace- Language FnBody Volatility- | CreateLanguage Annotation String- | CreateSequence Annotation String Integer Integer Integer Integer- Integer- | CreateTable Annotation String AttributeDefList ConstraintList- | CreateTableAs Annotation String QueryExpr- | CreateTrigger Annotation String TriggerWhen [TriggerEvent] String- TriggerFire String ScalarExprList- | CreateType Annotation String TypeAttributeDefList- | CreateView Annotation String (Maybe [String]) QueryExpr- | Delete Annotation SQIdentifier TableRefList MaybeBoolExpr- MaybeSelectList- | DropFunction Annotation IfExists StringTypeNameListPairList- Cascade- | DropSomething Annotation DropType IfExists [String] Cascade- | Execute Annotation ScalarExpr- | ExitStatement Annotation (Maybe String)- | ForIntegerStatement Annotation (Maybe String) ScalarExpr- ScalarExpr ScalarExpr StatementList- | ForQueryStatement Annotation (Maybe String) ScalarExpr QueryExpr- StatementList- | If Annotation ScalarExprStatementListPairList StatementList- | Insert Annotation SQIdentifier [String] QueryExpr MaybeSelectList- | Into Annotation Bool ScalarExprList Statement- | LoopStatement Annotation (Maybe String) StatementList- | Notify Annotation String- | NullStatement Annotation- | Perform Annotation ScalarExpr- | QueryStatement Annotation QueryExpr- | Raise Annotation RaiseType String ScalarExprList- | Return Annotation MaybeScalarExpr- | ReturnNext Annotation ScalarExpr- | ReturnQuery Annotation QueryExpr- | Set Annotation String [SetValue]- | Truncate Annotation [String] RestartIdentity Cascade- | Update Annotation SQIdentifier ScalarExprList TableRefList- MaybeBoolExpr MaybeSelectList- | WhileStatement Annotation (Maybe String) ScalarExpr StatementList- | AntiStatement String- deriving (Data, Eq, Show, Typeable)- -data TableAlias = FullAlias Annotation String [String]- | NoAlias Annotation- | TableAlias Annotation String- deriving (Data, Eq, Show, Typeable)- -data TableRef = FunTref Annotation ScalarExpr TableAlias- | JoinTref Annotation TableRef Natural JoinType TableRef OnExpr- TableAlias- | SubTref Annotation QueryExpr TableAlias- | Tref Annotation SQIdentifier TableAlias- deriving (Data, Eq, Show, Typeable)- -data TypeAttributeDef = TypeAttDef Annotation String TypeName- deriving (Data, Eq, Show, Typeable)- -data TypeName = ArrayTypeName Annotation TypeName- | Prec2TypeName Annotation String Integer Integer- | PrecTypeName Annotation String Integer- | SetOfTypeName Annotation TypeName- | SimpleTypeName Annotation String- deriving (Data, Eq, Show, Typeable)- -data VarDef = ParamAlias Annotation String Integer- | VarAlias Annotation String String- | VarDef Annotation String TypeName (Maybe ScalarExpr)- deriving (Data, Eq, Show, Typeable)- -data WithQuery = WithQuery Annotation String (Maybe [String])- QueryExpr- deriving (Data, Eq, Show, Typeable)- -type AlterTableActionList = [AlterTableAction]- -type AttributeDefList = [AttributeDef]- -type CaseScalarExprListScalarExprPair =- (ScalarExprList, ScalarExpr)- -type CaseScalarExprListScalarExprPairList =- [CaseScalarExprListScalarExprPair]- -type ConstraintList = [Constraint]- -type MaybeBoolExpr = Maybe ScalarExpr- -type MaybeScalarExpr = Maybe ScalarExpr- -type MaybeSelectList = Maybe SelectList- -type OnExpr = Maybe JoinExpr- -type ParamDefList = [ParamDef]- -type RowConstraintList = [RowConstraint]- -type ScalarExprDirectionPair = (ScalarExpr, Direction)- -type ScalarExprDirectionPairList = [ScalarExprDirectionPair]- -type ScalarExprList = [ScalarExpr]- -type ScalarExprListList = [ScalarExprList]- -type ScalarExprListStatementListPair =- (ScalarExprList, StatementList)- -type ScalarExprListStatementListPairList =- [ScalarExprListStatementListPair]- -type ScalarExprStatementListPair = (ScalarExpr, StatementList)- -type ScalarExprStatementListPairList =- [ScalarExprStatementListPair]- -type SelectItemList = [SelectItem]- -type StatementList = [Statement]- -type StringTypeNameListPair = (String, TypeNameList)- -type StringTypeNameListPairList = [StringTypeNameListPair]- -type TableRefList = [TableRef]- -type TypeAttributeDefList = [TypeAttributeDef]- -type TypeNameList = [TypeName]- -type VarDefList = [VarDef]- -type WithQueryList = [WithQuery]- -joinType :: JoinType -> A.JoinType-joinType x- = case x of- Inner -> A.Inner- LeftOuter -> A.LeftOuter- RightOuter -> A.RightOuter- FullOuter -> A.FullOuter- Cross -> A.Cross- -copySource :: CopySource -> A.CopySource-copySource x- = case x of- CopyFilename a1 -> A.CopyFilename a1- Stdin -> A.Stdin- -setValue :: SetValue -> A.SetValue-setValue x- = case x of- SetStr a1 a2 -> A.SetStr a1 a2- SetId a1 a2 -> A.SetId a1 a2- SetNum a1 a2 -> A.SetNum a1 a2- -triggerWhen :: TriggerWhen -> A.TriggerWhen-triggerWhen x- = case x of- TriggerBefore -> A.TriggerBefore- TriggerAfter -> A.TriggerAfter- -triggerEvent :: TriggerEvent -> A.TriggerEvent-triggerEvent x- = case x of- TInsert -> A.TInsert- TUpdate -> A.TUpdate- TDelete -> A.TDelete- AntiTriggerEvent _ -> error "can't convert anti triggerEvent"- -triggerFire :: TriggerFire -> A.TriggerFire-triggerFire x- = case x of- EachRow -> A.EachRow- EachStatement -> A.EachStatement- -raiseType :: RaiseType -> A.RaiseType-raiseType x- = case x of- RNotice -> A.RNotice- RException -> A.RException- RError -> A.RError- -combineType :: CombineType -> A.CombineType-combineType x- = case x of- Except -> A.Except- Union -> A.Union- Intersect -> A.Intersect- UnionAll -> A.UnionAll- -volatility :: Volatility -> A.Volatility-volatility x- = case x of- Volatile -> A.Volatile- Stable -> A.Stable- Immutable -> A.Immutable- -language :: Language -> A.Language-language x- = case x of- Sql -> A.Sql- Plpgsql -> A.Plpgsql- -dropType :: DropType -> A.DropType-dropType x- = case x of- Table -> A.Table- Domain -> A.Domain- View -> A.View- Type -> A.Type- -cascade :: Cascade -> A.Cascade-cascade x- = case x of- Cascade -> A.Cascade- Restrict -> A.Restrict- -direction :: Direction -> A.Direction-direction x- = case x of- Asc -> A.Asc- Desc -> A.Desc- -distinct :: Distinct -> A.Distinct-distinct x- = case x of- Distinct -> A.Distinct- Dupes -> A.Dupes- -natural :: Natural -> A.Natural-natural x- = case x of- Natural -> A.Natural- Unnatural -> A.Unnatural- -ifExists :: IfExists -> A.IfExists-ifExists x- = case x of- Require -> A.Require- IfExists -> A.IfExists- -replace :: Replace -> A.Replace-replace x- = case x of- Replace -> A.Replace- NoReplace -> A.NoReplace- -restartIdentity :: RestartIdentity -> A.RestartIdentity-restartIdentity x- = case x of- RestartIdentity -> A.RestartIdentity- ContinueIdentity -> A.ContinueIdentity- -liftFlavour :: LiftFlavour -> A.LiftFlavour-liftFlavour x- = case x of- LiftAny -> A.LiftAny- LiftAll -> A.LiftAll- -intervalField :: IntervalField -> A.IntervalField-intervalField x- = case x of- IntervalYear -> A.IntervalYear- IntervalMonth -> A.IntervalMonth- IntervalDay -> A.IntervalDay- IntervalHour -> A.IntervalHour- IntervalMinute -> A.IntervalMinute- IntervalSecond -> A.IntervalSecond- IntervalYearToMonth -> A.IntervalYearToMonth- IntervalDayToHour -> A.IntervalDayToHour- IntervalDayToMinute -> A.IntervalDayToMinute- IntervalDayToSecond -> A.IntervalDayToSecond- IntervalHourToMinute -> A.IntervalHourToMinute- IntervalHourToSecond -> A.IntervalHourToSecond- IntervalMinuteToSecond -> A.IntervalMinuteToSecond- -extractField :: ExtractField -> A.ExtractField-extractField x- = case x of- ExtractCentury -> A.ExtractCentury- ExtractDay -> A.ExtractDay- ExtractDecade -> A.ExtractDecade- ExtractDow -> A.ExtractDow- ExtractDoy -> A.ExtractDoy- ExtractEpoch -> A.ExtractEpoch- ExtractHour -> A.ExtractHour- ExtractIsodow -> A.ExtractIsodow- ExtractIsoyear -> A.ExtractIsoyear- ExtractMicroseconds -> A.ExtractMicroseconds- ExtractMillennium -> A.ExtractMillennium- ExtractMilliseconds -> A.ExtractMilliseconds- ExtractMinute -> A.ExtractMinute- ExtractMonth -> A.ExtractMonth- ExtractQuarter -> A.ExtractQuarter- ExtractSecond -> A.ExtractSecond- ExtractTimezone -> A.ExtractTimezone- ExtractTimezoneHour -> A.ExtractTimezoneHour- ExtractTimezoneMinute -> A.ExtractTimezoneMinute- ExtractWeek -> A.ExtractWeek- ExtractYear -> A.ExtractYear- -frameClause :: FrameClause -> A.FrameClause-frameClause x- = case x of- FrameUnboundedPreceding -> A.FrameUnboundedPreceding- FrameUnboundedFull -> A.FrameUnboundedFull- FrameRowsUnboundedPreceding -> A.FrameRowsUnboundedPreceding- -alterTableAction :: AlterTableAction -> A.AlterTableAction-alterTableAction x- = case x of- AddConstraint a1 a2 -> A.AddConstraint a1 (constraint a2)- AlterColumnDefault a1 a2 a3 -> A.AlterColumnDefault a1 a2- (scalarExpr a3)- -attributeDef :: AttributeDef -> A.AttributeDef-attributeDef x- = case x of- AttributeDef a1 a2 a3 a4 a5 -> A.AttributeDef a1 a2 (typeName a3)- (maybeScalarExpr a4)- (rowConstraintList a5)- -constraint :: Constraint -> A.Constraint-constraint x- = case x of- CheckConstraint a1 a2 a3 -> A.CheckConstraint a1 a2 (scalarExpr a3)- PrimaryKeyConstraint a1 a2 a3 -> A.PrimaryKeyConstraint a1 a2 a3- ReferenceConstraint a1 a2 a3 a4 a5 a6 a7 -> A.ReferenceConstraint- a1- a2- a3- a4- a5- (cascade a6)- (cascade a7)- UniqueConstraint a1 a2 a3 -> A.UniqueConstraint a1 a2 a3- -fnBody :: FnBody -> A.FnBody-fnBody x- = case x of- PlpgsqlFnBody a1 a2 -> A.PlpgsqlFnBody a1 (statement a2)- SqlFnBody a1 a2 -> A.SqlFnBody a1 (statementList a2)- -inList :: InList -> A.InList-inList x- = case x of- InList a1 a2 -> A.InList a1 (scalarExprList a2)- InQueryExpr a1 a2 -> A.InQueryExpr a1 (queryExpr a2)- -joinExpr :: JoinExpr -> A.JoinExpr-joinExpr x- = case x of- JoinOn a1 a2 -> A.JoinOn a1 (scalarExpr a2)- JoinUsing a1 a2 -> A.JoinUsing a1 a2- -paramDef :: ParamDef -> A.ParamDef-paramDef x- = case x of- ParamDef a1 a2 a3 -> A.ParamDef a1 a2 (typeName a3)- ParamDefTp a1 a2 -> A.ParamDefTp a1 (typeName a2)- -queryExpr :: QueryExpr -> A.QueryExpr-queryExpr x- = case x of- CombineQueryExpr a1 a2 a3 a4 -> A.CombineQueryExpr a1- (combineType a2)- (queryExpr a3)- (queryExpr a4)- Select a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 -> A.Select a1 (distinct a2)- (selectList a3)- (tableRefList a4)- (maybeBoolExpr a5)- (scalarExprList a6)- (maybeBoolExpr a7)- (scalarExprDirectionPairList a8)- (maybeScalarExpr a9)- (maybeScalarExpr a10)- Values a1 a2 -> A.Values a1 (scalarExprListList a2)- WithQueryExpr a1 a2 a3 -> A.WithQueryExpr a1 (withQueryList a2)- (queryExpr a3)- -rowConstraint :: RowConstraint -> A.RowConstraint-rowConstraint x- = case x of- NotNullConstraint a1 a2 -> A.NotNullConstraint a1 a2- NullConstraint a1 a2 -> A.NullConstraint a1 a2- RowCheckConstraint a1 a2 a3 -> A.RowCheckConstraint a1 a2- (scalarExpr a3)- RowPrimaryKeyConstraint a1 a2 -> A.RowPrimaryKeyConstraint a1 a2- RowReferenceConstraint a1 a2 a3 a4 a5- a6 -> A.RowReferenceConstraint a1 a2 a3 a4 (cascade a5)- (cascade a6)- RowUniqueConstraint a1 a2 -> A.RowUniqueConstraint a1 a2- -sQIdentifier :: SQIdentifier -> A.SQIdentifier-sQIdentifier x- = case x of- SQIdentifier a1 a2 -> A.SQIdentifier a1 a2- -scalarExpr :: ScalarExpr -> A.ScalarExpr-scalarExpr x- = case x of- BooleanLit a1 a2 -> A.BooleanLit a1 a2- Case a1 a2 a3 -> A.Case a1- (caseScalarExprListScalarExprPairList a2)- (maybeScalarExpr a3)- CaseSimple a1 a2 a3 a4 -> A.CaseSimple a1 (scalarExpr a2)- (caseScalarExprListScalarExprPairList a3)- (maybeScalarExpr a4)- Cast a1 a2 a3 -> A.Cast a1 (scalarExpr a2) (typeName a3)- Exists a1 a2 -> A.Exists a1 (queryExpr a2)- Extract a1 a2 a3 -> A.Extract a1 (extractField a2) (scalarExpr a3)- FunCall a1 a2 a3 -> A.FunCall a1 a2 (scalarExprList a3)- Identifier a1 a2 -> A.Identifier a1 a2- InPredicate a1 a2 a3 a4 -> A.InPredicate a1 (scalarExpr a2) a3- (inList a4)- Interval a1 a2 a3 a4 -> A.Interval a1 a2 (intervalField a3) a4- LiftOperator a1 a2 a3 a4 -> A.LiftOperator a1 a2 (liftFlavour a3)- (scalarExprList a4)- NullLit a1 -> A.NullLit a1- NumberLit a1 a2 -> A.NumberLit a1 a2- Placeholder a1 -> A.Placeholder a1- PositionalArg a1 a2 -> A.PositionalArg a1 a2- QIdentifier a1 a2 a3 -> A.QIdentifier a1 (scalarExpr a2) a3- ScalarSubQuery a1 a2 -> A.ScalarSubQuery a1 (queryExpr a2)- StringLit a1 a2 -> A.StringLit a1 a2- TypedStringLit a1 a2 a3 -> A.TypedStringLit a1 (typeName a2) a3- WindowFn a1 a2 a3 a4 a5 a6 -> A.WindowFn a1 (scalarExpr a2)- (scalarExprList a3)- (scalarExprList a4)- (direction a5)- (frameClause a6)- AntiScalarExpr _ -> error "can't convert anti scalarExpr"- -selectItem :: SelectItem -> A.SelectItem-selectItem x- = case x of- SelExp a1 a2 -> A.SelExp a1 (scalarExpr a2)- SelectItem a1 a2 a3 -> A.SelectItem a1 (scalarExpr a2) a3- -selectList :: SelectList -> A.SelectList-selectList x- = case x of- SelectList a1 a2 -> A.SelectList a1 (selectItemList a2)- -statement :: Statement -> A.Statement-statement x- = case x of- AlterSequence a1 a2 a3 -> A.AlterSequence a1 a2 (sQIdentifier a3)- AlterTable a1 a2 a3 -> A.AlterTable a1 a2 (alterTableActionList a3)- Assignment a1 a2 a3 -> A.Assignment a1 (scalarExpr a2)- (scalarExpr a3)- Block a1 a2 a3 a4 -> A.Block a1 a2 (varDefList a3)- (statementList a4)- CaseStatement a1 a2 a3 -> A.CaseStatement a1- (scalarExprListStatementListPairList a2)- (statementList a3)- CaseStatementSimple a1 a2 a3 a4 -> A.CaseStatementSimple a1- (scalarExpr a2)- (scalarExprListStatementListPairList a3)- (statementList a4)- ContinueStatement a1 a2 -> A.ContinueStatement a1 a2- Copy a1 a2 a3 a4 -> A.Copy a1 a2 a3 (copySource a4)- CopyData a1 a2 -> A.CopyData a1 a2- CreateDomain a1 a2 a3 a4 a5 -> A.CreateDomain a1 a2 (typeName a3)- a4- (maybeBoolExpr a5)- CreateFunction a1 a2 a3 a4 a5 a6 a7 a8 -> A.CreateFunction a1 a2- (paramDefList a3)- (typeName a4)- (replace a5)- (language a6)- (fnBody a7)- (volatility a8)- CreateLanguage a1 a2 -> A.CreateLanguage a1 a2- CreateSequence a1 a2 a3 a4 a5 a6 a7 -> A.CreateSequence a1 a2 a3 a4- a5- a6- a7- CreateTable a1 a2 a3 a4 -> A.CreateTable a1 a2- (attributeDefList a3)- (constraintList a4)- CreateTableAs a1 a2 a3 -> A.CreateTableAs a1 a2 (queryExpr a3)- CreateTrigger a1 a2 a3 a4 a5 a6 a7 a8 -> A.CreateTrigger a1 a2- (triggerWhen a3)- (fmap triggerEvent a4)- a5- (triggerFire a6)- a7- (scalarExprList a8)- CreateType a1 a2 a3 -> A.CreateType a1 a2 (typeAttributeDefList a3)- CreateView a1 a2 a3 a4 -> A.CreateView a1 a2 a3 (queryExpr a4)- Delete a1 a2 a3 a4 a5 -> A.Delete a1 (sQIdentifier a2)- (tableRefList a3)- (maybeBoolExpr a4)- (maybeSelectList a5)- DropFunction a1 a2 a3 a4 -> A.DropFunction a1 (ifExists a2)- (stringTypeNameListPairList a3)- (cascade a4)- DropSomething a1 a2 a3 a4 a5 -> A.DropSomething a1 (dropType a2)- (ifExists a3)- a4- (cascade a5)- Execute a1 a2 -> A.Execute a1 (scalarExpr a2)- ExitStatement a1 a2 -> A.ExitStatement a1 a2- ForIntegerStatement a1 a2 a3 a4 a5 a6 -> A.ForIntegerStatement a1- a2- (scalarExpr a3)- (scalarExpr a4)- (scalarExpr a5)- (statementList a6)- ForQueryStatement a1 a2 a3 a4 a5 -> A.ForQueryStatement a1 a2- (scalarExpr a3)- (queryExpr a4)- (statementList a5)- If a1 a2 a3 -> A.If a1 (scalarExprStatementListPairList a2)- (statementList a3)- Insert a1 a2 a3 a4 a5 -> A.Insert a1 (sQIdentifier a2) a3- (queryExpr a4)- (maybeSelectList a5)- Into a1 a2 a3 a4 -> A.Into a1 a2 (scalarExprList a3) (statement a4)- LoopStatement a1 a2 a3 -> A.LoopStatement a1 a2 (statementList a3)- Notify a1 a2 -> A.Notify a1 a2- NullStatement a1 -> A.NullStatement a1- Perform a1 a2 -> A.Perform a1 (scalarExpr a2)- QueryStatement a1 a2 -> A.QueryStatement a1 (queryExpr a2)- Raise a1 a2 a3 a4 -> A.Raise a1 (raiseType a2) a3- (scalarExprList a4)- Return a1 a2 -> A.Return a1 (maybeScalarExpr a2)- ReturnNext a1 a2 -> A.ReturnNext a1 (scalarExpr a2)- ReturnQuery a1 a2 -> A.ReturnQuery a1 (queryExpr a2)- Set a1 a2 a3 -> A.Set a1 a2 (fmap setValue a3)- Truncate a1 a2 a3 a4 -> A.Truncate a1 a2 (restartIdentity a3)- (cascade a4)- Update a1 a2 a3 a4 a5 a6 -> A.Update a1 (sQIdentifier a2)- (scalarExprList a3)- (tableRefList a4)- (maybeBoolExpr a5)- (maybeSelectList a6)- WhileStatement a1 a2 a3 a4 -> A.WhileStatement a1 a2- (scalarExpr a3)- (statementList a4)- AntiStatement _ -> error "can't convert anti statement"- -tableAlias :: TableAlias -> A.TableAlias-tableAlias x- = case x of- FullAlias a1 a2 a3 -> A.FullAlias a1 a2 a3- NoAlias a1 -> A.NoAlias a1- TableAlias a1 a2 -> A.TableAlias a1 a2- -tableRef :: TableRef -> A.TableRef-tableRef x- = case x of- FunTref a1 a2 a3 -> A.FunTref a1 (scalarExpr a2) (tableAlias a3)- JoinTref a1 a2 a3 a4 a5 a6 a7 -> A.JoinTref a1 (tableRef a2)- (natural a3)- (joinType a4)- (tableRef a5)- (onExpr a6)- (tableAlias a7)- SubTref a1 a2 a3 -> A.SubTref a1 (queryExpr a2) (tableAlias a3)- Tref a1 a2 a3 -> A.Tref a1 (sQIdentifier a2) (tableAlias a3)- -typeAttributeDef :: TypeAttributeDef -> A.TypeAttributeDef-typeAttributeDef x- = case x of- TypeAttDef a1 a2 a3 -> A.TypeAttDef a1 a2 (typeName a3)- -typeName :: TypeName -> A.TypeName-typeName x- = case x of- ArrayTypeName a1 a2 -> A.ArrayTypeName a1 (typeName a2)- Prec2TypeName a1 a2 a3 a4 -> A.Prec2TypeName a1 a2 a3 a4- PrecTypeName a1 a2 a3 -> A.PrecTypeName a1 a2 a3- SetOfTypeName a1 a2 -> A.SetOfTypeName a1 (typeName a2)- SimpleTypeName a1 a2 -> A.SimpleTypeName a1 a2- -varDef :: VarDef -> A.VarDef-varDef x- = case x of- ParamAlias a1 a2 a3 -> A.ParamAlias a1 a2 a3- VarAlias a1 a2 a3 -> A.VarAlias a1 a2 a3- VarDef a1 a2 a3 a4 -> A.VarDef a1 a2 (typeName a3)- (maybeScalarExpr a4)- -withQuery :: WithQuery -> A.WithQuery-withQuery x- = case x of- WithQuery a1 a2 a3 a4 -> A.WithQuery a1 a2 a3 (queryExpr a4)- -alterTableActionList ::- AlterTableActionList -> A.AlterTableActionList-alterTableActionList = fmap alterTableAction- -attributeDefList :: AttributeDefList -> A.AttributeDefList-attributeDefList = fmap attributeDef- -caseScalarExprListScalarExprPair ::- CaseScalarExprListScalarExprPair ->- A.CaseScalarExprListScalarExprPair-caseScalarExprListScalarExprPair (a, b)- = (scalarExprList a, scalarExpr b)- -caseScalarExprListScalarExprPairList ::- CaseScalarExprListScalarExprPairList ->- A.CaseScalarExprListScalarExprPairList-caseScalarExprListScalarExprPairList- = fmap caseScalarExprListScalarExprPair- -constraintList :: ConstraintList -> A.ConstraintList-constraintList = fmap constraint- -maybeBoolExpr :: MaybeBoolExpr -> A.MaybeBoolExpr-maybeBoolExpr = fmap scalarExpr- -maybeScalarExpr :: MaybeScalarExpr -> A.MaybeScalarExpr-maybeScalarExpr = fmap scalarExpr- -maybeSelectList :: MaybeSelectList -> A.MaybeSelectList-maybeSelectList = fmap selectList- -onExpr :: OnExpr -> A.OnExpr-onExpr = fmap joinExpr- -paramDefList :: ParamDefList -> A.ParamDefList-paramDefList = fmap paramDef- -rowConstraintList :: RowConstraintList -> A.RowConstraintList-rowConstraintList = fmap rowConstraint- -scalarExprDirectionPair ::- ScalarExprDirectionPair -> A.ScalarExprDirectionPair-scalarExprDirectionPair (a, b) = (scalarExpr a, direction b)- -scalarExprDirectionPairList ::- ScalarExprDirectionPairList -> A.ScalarExprDirectionPairList-scalarExprDirectionPairList = fmap scalarExprDirectionPair- -scalarExprList :: ScalarExprList -> A.ScalarExprList-scalarExprList = fmap scalarExpr- -scalarExprListList :: ScalarExprListList -> A.ScalarExprListList-scalarExprListList = fmap scalarExprList- -scalarExprListStatementListPair ::- ScalarExprListStatementListPair ->- A.ScalarExprListStatementListPair-scalarExprListStatementListPair (a, b)- = (scalarExprList a, statementList b)- -scalarExprListStatementListPairList ::- ScalarExprListStatementListPairList ->- A.ScalarExprListStatementListPairList-scalarExprListStatementListPairList- = fmap scalarExprListStatementListPair- -scalarExprStatementListPair ::- ScalarExprStatementListPair -> A.ScalarExprStatementListPair-scalarExprStatementListPair (a, b)- = (scalarExpr a, statementList b)- -scalarExprStatementListPairList ::- ScalarExprStatementListPairList ->- A.ScalarExprStatementListPairList-scalarExprStatementListPairList = fmap scalarExprStatementListPair- -selectItemList :: SelectItemList -> A.SelectItemList-selectItemList = fmap selectItem- -statementList :: StatementList -> A.StatementList-statementList = fmap statement- -stringTypeNameListPair ::- StringTypeNameListPair -> A.StringTypeNameListPair-stringTypeNameListPair (a, b) = (a, typeNameList b)- -stringTypeNameListPairList ::- StringTypeNameListPairList -> A.StringTypeNameListPairList-stringTypeNameListPairList = fmap stringTypeNameListPair- -tableRefList :: TableRefList -> A.TableRefList-tableRefList = fmap tableRef- -typeAttributeDefList ::- TypeAttributeDefList -> A.TypeAttributeDefList-typeAttributeDefList = fmap typeAttributeDef- -typeNameList :: TypeNameList -> A.TypeNameList-typeNameList = fmap typeName- -varDefList :: VarDefList -> A.VarDefList-varDefList = fmap varDef- -withQueryList :: WithQueryList -> A.WithQueryList-withQueryList = fmap withQuery
src/Database/HsSqlPpp/Internals/AstInternal.hs view
@@ -1,14400 +1,15347 @@ --- UUAGC 0.9.39.0 (src/Database/HsSqlPpp/Internals/AstInternal.ag)-module Database.HsSqlPpp.Internals.AstInternal(- -- {-# LANGUAGE DeriveDataTypeable,ScopedTypeVariables #-}- --from the ag files:- --ast nodes- Statement (..)- ,QueryExpr (..)- ,WithQueryList- ,WithQuery(..)- ,FnBody (..)- --,SetClause (..)- ,TableRef (..)- ,TableAlias(..)- ,JoinExpr (..)- ,JoinType (..)- ,SelectList (..)- ,SelectItem (..)- ,CopySource (..)- ,AttributeDef (..)- ,RowConstraint (..)- ,AlterTableAction(..)- ,Constraint (..)- ,TypeAttributeDef (..)- ,ParamDef (..)- ,VarDef (..)- ,RaiseType (..)- ,CombineType (..)- ,Volatility (..)- ,Language (..)- ,TypeName (..)- ,DropType (..)- ,Cascade (..)- ,Direction (..)- ,Distinct (..)- ,Natural (..)- ,IfExists (..)- ,Replace(..)- ,RestartIdentity (..)- ,ScalarExpr (..)- ,SQIdentifier(..)- ,IntervalField(..)- ,ExtractField(..)- ,FrameClause(..)- ,InList (..)- ,LiftFlavour(..)- ,TriggerWhen(..)- ,TriggerEvent(..)- ,TriggerFire(..)- ,StatementList- ,ScalarExprListStatementListPairList- ,ScalarExprListStatementListPair- ,ScalarExprList- ,ParamDefList- ,AttributeDefList- ,ConstraintList- ,TypeAttributeDefList- ,TypeNameList- ,StringTypeNameListPair- ,StringTypeNameListPairList- ,ScalarExprStatementListPairList- --,SetClauseList- ,CaseScalarExprListScalarExprPairList- ,MaybeScalarExpr- ,TableRefList- ,ScalarExprListList- ,SelectItemList- ,OnExpr- ,RowConstraintList- ,VarDefList- ,ScalarExprStatementListPair- ,CaseScalarExprListScalarExprPair- ,ScalarExprDirectionPair- ,ScalarExprDirectionPairList- ,MaybeBoolExpr- ,MaybeSelectList- ,SetValue(..)- ,AlterTableActionList- -- typechecking- ,typeCheckStatements- ,typeCheckParameterizedStatement- ,typeCheckScalarExpr- ,typeCheckQueryExpr- ,fixUpIdentifiers- ,fixUpIdentifiersQE- ,fixUpIdentifiersSE-) where--import Data.Maybe-import Data.List-import Control.Applicative-import Data.Data-import Data.Char-import Control.Monad.State-import Control.Arrow--import Data.Generics.Uniplate.Data---import Debug.Trace---import Database.HsSqlPpp.Internals.TypeType-import Database.HsSqlPpp.Internals.TypeChecking.TypeConversion-import Database.HsSqlPpp.Internals.AstAnnotation-import Database.HsSqlPpp.Internals.Catalog.CatalogInternal-import Database.HsSqlPpp.Internals.TypeChecking.LocalBindings-import Database.HsSqlPpp.Internals.TypeChecking.ErrorUtils-import Database.HsSqlPpp.Utils.Utils-------- used for schema qualified identifiers--- should be used in more places in the ast---data JoinType = Inner | LeftOuter| RightOuter | FullOuter | Cross- deriving (Show,Eq,Typeable,Data)---data CopySource = CopyFilename String- | Stdin- deriving (Show,Eq,Typeable,Data)---data SetValue- = SetStr Annotation String- | SetId Annotation String- | SetNum Annotation Double- deriving (Show,Eq,Typeable,Data)---data TriggerWhen = TriggerBefore | TriggerAfter- deriving (Show,Eq,Typeable,Data)-data TriggerEvent = TInsert| TUpdate | TDelete- deriving (Show,Eq,Typeable,Data)-data TriggerFire = EachRow | EachStatement- deriving (Show,Eq,Typeable,Data)---data RaiseType = RNotice | RException | RError- deriving (Show,Eq,Typeable,Data)--data CombineType = Except | Union | Intersect | UnionAll- deriving (Show,Eq,Typeable,Data)--data Volatility = Volatile | Stable | Immutable- deriving (Show,Eq,Typeable,Data)--data Language = Sql | Plpgsql- deriving (Show,Eq,Typeable,Data)---data DropType = Table- | Domain- | View- | Type- deriving (Show,Eq,Typeable,Data)--data Cascade = Cascade | Restrict- deriving (Show,Eq,Typeable,Data)--data Direction = Asc | Desc- deriving (Show,Eq,Typeable,Data)--data Distinct = Distinct | Dupes- deriving (Show,Eq,Typeable,Data)--data Natural = Natural | Unnatural- deriving (Show,Eq,Typeable,Data)--data IfExists = Require | IfExists- deriving (Show,Eq,Typeable,Data)--data Replace = Replace | NoReplace- deriving (Show,Eq,Typeable,Data)--data RestartIdentity = RestartIdentity | ContinueIdentity- deriving (Show,Eq,Typeable,Data)----data LiftFlavour = LiftAny | LiftAll- deriving (Show,Eq,Typeable,Data)--data IntervalField = IntervalYear- | IntervalMonth- | IntervalDay- | IntervalHour- | IntervalMinute- | IntervalSecond- | IntervalYearToMonth- | IntervalDayToHour- | IntervalDayToMinute- | IntervalDayToSecond- | IntervalHourToMinute- | IntervalHourToSecond- | IntervalMinuteToSecond- deriving (Show,Eq,Typeable,Data)--data ExtractField = ExtractCentury- | ExtractDay- | ExtractDecade- | ExtractDow- | ExtractDoy- | ExtractEpoch- | ExtractHour- | ExtractIsodow- | ExtractIsoyear- | ExtractMicroseconds- | ExtractMillennium- | ExtractMilliseconds- | ExtractMinute- | ExtractMonth- | ExtractQuarter- | ExtractSecond- | ExtractTimezone- | ExtractTimezoneHour- | ExtractTimezoneMinute- | ExtractWeek- | ExtractYear- deriving (Show,Eq,Typeable,Data)----data FrameClause = FrameUnboundedPreceding- | FrameUnboundedFull- | FrameRowsUnboundedPreceding- deriving (Show,Eq,Typeable,Data)----- | Takes an ast, checks against catalog passed, and adds--- annotations, including types, type errors, and statement info.--- Returns the updated catalog as well as the annotated ast.-typeCheckStatements :: Catalog -> [Statement] -> (Catalog,[Statement])-typeCheckStatements cat sts =- let t = sem_Root (Root $ fixUpIdentifiers cat sts)- ta = wrap_Root t Inh_Root {cat_Inh_Root = cat- ,lib_Inh_Root = emptyBindings- ,idenv_Inh_Root = emptyIDEnv}- tl = annotatedTree_Syn_Root ta- cat1 = producedCat_Syn_Root ta- in case tl of- Root r -> (cat1,r)--typeCheckQueryExpr :: Catalog -> QueryExpr -> QueryExpr-typeCheckQueryExpr cat qe =- let (_,[QueryStatement _ qe']) = typeCheckStatements cat [QueryStatement emptyAnnotation qe]- in qe'---- | Unfinished version of type check which can type check an--- individual statement with ? or positional arg placeholders in--- it. Will error if the statement isn't select, update, insert or--- delete. For use in type checking embedded parameterized--- statements. Does all typechecking and annotation that the regular--- typecheck does.-typeCheckParameterizedStatement :: Catalog -> Statement -> Either String Statement-typeCheckParameterizedStatement cat st =- case st of- QueryStatement _ _ -> tc- Insert _ _ _ _ _ -> tc- Update _ _ _ _ _ _ -> tc- Delete _ _ _ _ _ -> tc- _ -> Left "requires select, update, insert or delete statement"- where- tc = let t = sem_Root (Root $ fixUpIdentifiers cat [st])- ta = wrap_Root t Inh_Root {cat_Inh_Root = cat- ,lib_Inh_Root = emptyBindings- ,idenv_Inh_Root = emptyIDEnv}- tl = annotatedTree_Syn_Root ta- --cat1 = producedCat_Syn_Root ta- in case tl of- Root [st1] -> Right st1- _ -> error "impossible happened in typeCheckPS!"----- | Testing utility, mainly used to check an expression for type errors--- or to get its type.-typeCheckScalarExpr :: Catalog -> ScalarExpr -> ScalarExpr-typeCheckScalarExpr cat ex =- let t = sem_ScalarExprRoot (ScalarExprRoot $ fixUpIdentifiersSE cat ex)- rt = (annotatedTree_Syn_ScalarExprRoot- (wrap_ScalarExprRoot t Inh_ScalarExprRoot {cat_Inh_ScalarExprRoot = cat- ,lib_Inh_ScalarExprRoot = emptyBindings- ,idenv_Inh_ScalarExprRoot = emptyIDEnv}))- in case rt of- ScalarExprRoot e -> e-----data IDEnv = IDEnv [(String, [String])]- deriving Show-emptyIDEnv :: IDEnv-emptyIDEnv = IDEnv []--qualifyID :: IDEnv -> String -> Maybe (String,String)-qualifyID (IDEnv env) i =- q env i- where- q [] _ = Nothing- q ((t,cs):es) i' =- if i' `elem` cs- then Just (t,i')- else q es i'--makeIDEnv :: String -- range qualifier- -> [String] -- attribute names- -> IDEnv-makeIDEnv t c = IDEnv [(t,c)]--makeIDEnvP :: [(String,[String])] -> IDEnv-makeIDEnvP x = IDEnv x--unimplementedIDEnv :: IDEnv-unimplementedIDEnv = IDEnv []--joinIDEnvs :: IDEnv -> IDEnv -> IDEnv-joinIDEnvs (IDEnv a) (IDEnv b) = IDEnv $ a ++ b--expandStar :: IDEnv -> Maybe String --qualifier- -> [(String,String)]-expandStar (IDEnv es) Nothing =- flip concatMap es $ \(t,cs) -> map (t,) cs-expandStar (IDEnv es) (Just t) =- maybe [(t,"*")] (map (t,)) $ lookup t es------makeSelExps :: Annotation -> Annotation -> Annotation -> [(String,String)] -> [SelectItem]-makeSelExps sea a0 a1 is =- flip map is $ \(q,c) -> addSIAlias $ SelExp sea $ QIdentifier a0 (Identifier a1 q) c--addSIAlias :: SelectItem -> SelectItem-addSIAlias s@(SelectItem _ _ _) = s-addSIAlias (SelExp ann ex) = SelectItem ann ex $ getColName ex- where- getColName (Identifier _ i) = i- getColName (QIdentifier _ _ i) = i- getColName (FunCall _ f _) | not (isOperatorName f) = f- getColName (Cast _ _ (SimpleTypeName _ tn)) = tn- getColName (WindowFn _ (FunCall _ f _) _ _ _ _) = f- getColName _ = "?column?"----------- | transform the tree by converting * to explicit lists of columns and adding qualifiers to all column references-fixUpIdentifiers :: Catalog -> [Statement] -> [Statement]-fixUpIdentifiers cat sts =- let t = sem_Root (Root sts)- ta = wrap_Root t Inh_Root {cat_Inh_Root = cat- ,lib_Inh_Root = emptyBindings- ,idenv_Inh_Root = emptyIDEnv}- tl = fixedUpIdentifiersTree_Syn_Root ta- in case tl of- Root r -> countHack r--fixUpIdentifiersSE :: Catalog -> ScalarExpr -> ScalarExpr-fixUpIdentifiersSE cat sts =- let t = sem_ScalarExprRoot (ScalarExprRoot sts)- ta = wrap_ScalarExprRoot t Inh_ScalarExprRoot {cat_Inh_ScalarExprRoot = cat- ,lib_Inh_ScalarExprRoot = emptyBindings- ,idenv_Inh_ScalarExprRoot = emptyIDEnv}- tl = fixedUpIdentifiersTree_Syn_ScalarExprRoot ta- in case tl of- ScalarExprRoot r -> countHack r--fixUpIdentifiersQE :: Catalog -> QueryExpr -> QueryExpr-fixUpIdentifiersQE cat qe =- let [QueryStatement _ qe'] = fixUpIdentifiers cat [QueryStatement emptyAnnotation qe]- in countHack qe'---- small hack to convert count(*) into count(True). Should be fixed when--- a more general approach to aggregates is written--countHack :: Data a => a -> a-countHack = transformBi $ \x -> case x of- FunCall a "count" [Identifier ia "*"] ->- FunCall a "count" [BooleanLit ia True]- x1 -> x1----doAlias :: TableAlias -> [(String,[String])] -> ([(String,[String])],TableAlias)-doAlias (NoAlias a) [] = ([],NoAlias a)-doAlias (NoAlias a) cs@((t,_):ts) = if all (==t) $ map fst ts- then (cs,FullAlias a t $ concatMap snd cs)- else (cs,NoAlias a)-doAlias (TableAlias a t) cs = let cs' = concatMap snd cs- in ([(t, cs')], FullAlias a t cs')-doAlias f@(FullAlias _ t cs) _ = ([(t,cs)], f)----addTypeErrors :: Data a => [TypeError] -> a -> a-addTypeErrors es el = updateAnnotation u el- where- u a = a {errs = errs a ++ es}--setTypeAddErrors :: Data a => Et -> a -> a-setTypeAddErrors et el = updateAnnotation (setTypeAddErrorsA et) el--setTypeAddErrorsA :: Et -> Annotation -> Annotation-setTypeAddErrorsA et a =- let a1 = a {errs = errs a ++ tes et}- in case atype a1 of- Just _ -> a1 {errs = errs a- ++ [InternalError $ "tried to set type a second time - " ++ show (etmt et)]}- Nothing -> a1 {atype = etmt et}--allJust :: [Maybe a] -> Maybe [a]-allJust ts = sequence ts---- bit dogdy, needs some thought--- this is just to convert the new approach of using "." as an operator--- to construct names, with the old approach which stuck the whole lot--- in a string-getName :: ScalarExpr -> String-getName (Identifier _ i) = i-getName (FunCall _ "." [Identifier _ _,Identifier _ i]) = i-getName (FunCall _ "." [_,a]) = getName a-getName x = error $ "internal error getName called on: " ++ show x--getTName :: SQIdentifier -> String-getTName (SQIdentifier _ x@(_:_)) = last x-getTName x = error $ "internal error getName called on: " ++ show x---unwrapLookup :: (String,[String],Type) -> Type-unwrapLookup (_,_,t) = t--allAtts :: ([(String,Type)],[(String,Type)]) -> [(String,Type)]-allAtts (a,b) = a ++ b----typeCheckValuesExpr :: Catalog -> [[Maybe Type]] -> Either [TypeError] Type-typeCheckValuesExpr cat rowsTs = do- rts <- lmt $ allJust $ map allJust rowsTs- let colNames = zipWith (++)- (repeat "column")- (map show [1..length $ head rowsTs])- unionRelTypes cat rts colNames---typeCheckCombineSelect :: Catalog -> Type -> Type -> Either [TypeError] Type-typeCheckCombineSelect cat v1 v2 = do- u1 <- unwrapSetOfComposite v1- let colNames = map fst u1- u2 <- unwrapSetOfComposite v2- let colTypes1 = map snd u1- let colTypes2 = map snd u2- unionRelTypes cat [colTypes1,colTypes2] colNames--unionRelTypes :: Catalog -> [[Type]] -> [String] -> Either [TypeError] Type-unionRelTypes cat rowsTs colNames =- let lengths = map length rowsTs- in case () of- _ | null rowsTs ->- Left [NoRowsGivenForValues]- | not (all (==head lengths) lengths) ->- Left [ValuesListsMustBeSameLength]- | otherwise ->- --i don't think this propagates all the errors, just the first set- mapM (resolveResultSetType cat) (transpose rowsTs) >>=- (return . SetOfType . CompositeType . zip colNames)-------{--convert a function call into a [String,[(string,type)]] list for use-in a tableref context-first consideration is the alias: if there is an alias in the select,-e.g. select * from generate_series(1,2) x; (alias is x)-we use that, otherwise we use the name of the function-second consideration is the attributes coming out, roughly speaking-we have to convert an arbitrary type to a relation type-if we have a relation valued function, we don't need to do anything-if we have a setof non composite, we lift the single type to an-attribute, using the function name for the attribute name-if we have a non setof, we lift the single type to an attribute and-then relation, using the function name for the attribute name-need to check to see what should happen with arrayof---}-funIdens :: Catalog -> String -> ScalarExpr -> Maybe Type -> Either [TypeError] (String,[(String,Type)])-funIdens cat alias fnVal ft = do- errorWhen (case fnVal of- FunCall _ _ _ -> False- _ -> True)- [ContextError "FunCall"]- let (FunCall _ fnName _) = fnVal- cn = if alias /= ""- then alias- else fnName- attrs <- do- fnt <- lmt ft- case fnt of- SetOfType (NamedCompositeType t) -> catCompositePublicAttrs cat [] t- SetOfType x -> return [(cn,x)]- y -> return [(cn,y)]- return (cn, attrs)--getAlias :: String -> TableAlias -> String-getAlias def alias =- case alias of- NoAlias _ -> def- TableAlias _ t -> t- FullAlias _ t _ -> t----{-data SiType = SiType (String,Maybe Type)- | SiStarType [(String,Maybe Type)]-}-----unwrapSetofs :: [(String,Type)] -> [(String,Type)]---unwrapSetofs = map (\(n,t) -> (n, unwrapSetof t))--unwrapSetof :: Type -> Type-unwrapSetof (SetOfType u) = u-unwrapSetof v = v----defaultSystemColumns :: [(String,Type)]-defaultSystemColumns = [("tableoid", ScalarType "oid")- ,("cmax", ScalarType "cid")- ,("xmax", ScalarType "xid")- ,("cmin", ScalarType "cid")- ,("xmin", ScalarType "xid")- ,("ctid", ScalarType "tid")]---data ParamName = NamedParam Int String- | UnnamedParam Int---getPlaceholderTypes :: Data a => a -> [Maybe Type]-getPlaceholderTypes ex =- [infType (getAnnotation x) | x <- universeBi ex- , isPlaceholder x]- where- isPlaceholder e = case e of- PositionalArg _ _ -> True- Placeholder _ -> True- _ -> False---- AlterTableAction ---------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative AddConstraint:- child ann : {Annotation}- child con : Constraint - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative AlterColumnDefault:- child ann : {Annotation}- child nm : {String}- child def : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data AlterTableAction = AddConstraint (Annotation) (Constraint ) - | AlterColumnDefault (Annotation) (String) (ScalarExpr ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_AlterTableAction :: AlterTableAction ->- T_AlterTableAction -sem_AlterTableAction (AddConstraint _ann _con ) =- (sem_AlterTableAction_AddConstraint _ann (sem_Constraint _con ) )-sem_AlterTableAction (AlterColumnDefault _ann _nm _def ) =- (sem_AlterTableAction_AlterColumnDefault _ann _nm (sem_ScalarExpr _def ) )--- semantic domain-type T_AlterTableAction = Catalog ->- IDEnv ->- LocalBindings ->- ( AlterTableAction ,AlterTableAction ,AlterTableAction )-data Inh_AlterTableAction = Inh_AlterTableAction {cat_Inh_AlterTableAction :: Catalog,idenv_Inh_AlterTableAction :: IDEnv,lib_Inh_AlterTableAction :: LocalBindings}-data Syn_AlterTableAction = Syn_AlterTableAction {annotatedTree_Syn_AlterTableAction :: AlterTableAction ,fixedUpIdentifiersTree_Syn_AlterTableAction :: AlterTableAction ,originalTree_Syn_AlterTableAction :: AlterTableAction }-wrap_AlterTableAction :: T_AlterTableAction ->- Inh_AlterTableAction ->- Syn_AlterTableAction -wrap_AlterTableAction sem (Inh_AlterTableAction _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_AlterTableAction _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_AlterTableAction_AddConstraint :: Annotation ->- T_Constraint ->- T_AlterTableAction -sem_AlterTableAction_AddConstraint ann_ con_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: AlterTableAction - _lhsOfixedUpIdentifiersTree :: AlterTableAction - _lhsOoriginalTree :: AlterTableAction - _conOcat :: Catalog- _conOidenv :: IDEnv- _conOlib :: LocalBindings- _conIannotatedTree :: Constraint - _conIfixedUpIdentifiersTree :: Constraint - _conIoriginalTree :: Constraint - -- self rule- _annotatedTree =- AddConstraint ann_ _conIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- AddConstraint ann_ _conIfixedUpIdentifiersTree- -- self rule- _originalTree =- AddConstraint ann_ _conIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _conOcat =- _lhsIcat- -- copy rule (down)- _conOidenv =- _lhsIidenv- -- copy rule (down)- _conOlib =- _lhsIlib- ( _conIannotatedTree,_conIfixedUpIdentifiersTree,_conIoriginalTree) =- con_ _conOcat _conOidenv _conOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_AlterTableAction_AlterColumnDefault :: Annotation ->- String ->- T_ScalarExpr ->- T_AlterTableAction -sem_AlterTableAction_AlterColumnDefault ann_ nm_ def_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _defOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: AlterTableAction - _lhsOfixedUpIdentifiersTree :: AlterTableAction - _lhsOoriginalTree :: AlterTableAction - _defOcat :: Catalog- _defOidenv :: IDEnv- _defOlib :: LocalBindings- _defIannotatedTree :: ScalarExpr - _defIfixedUpIdentifiersTree :: ScalarExpr - _defIoriginalTree :: ScalarExpr - _defIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 72, column 26)- _defOexpectedType =- Nothing- -- self rule- _annotatedTree =- AlterColumnDefault ann_ nm_ _defIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- AlterColumnDefault ann_ nm_ _defIfixedUpIdentifiersTree- -- self rule- _originalTree =- AlterColumnDefault ann_ nm_ _defIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _defOcat =- _lhsIcat- -- copy rule (down)- _defOidenv =- _lhsIidenv- -- copy rule (down)- _defOlib =- _lhsIlib- ( _defIannotatedTree,_defIfixedUpIdentifiersTree,_defIoriginalTree,_defIuType) =- def_ _defOcat _defOexpectedType _defOidenv _defOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- AlterTableActionList -----------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Cons:- child hd : AlterTableAction - child tl : AlterTableActionList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type AlterTableActionList = [AlterTableAction ]--- cata-sem_AlterTableActionList :: AlterTableActionList ->- T_AlterTableActionList -sem_AlterTableActionList list =- (Prelude.foldr sem_AlterTableActionList_Cons sem_AlterTableActionList_Nil (Prelude.map sem_AlterTableAction list) )--- semantic domain-type T_AlterTableActionList = Catalog ->- IDEnv ->- LocalBindings ->- ( AlterTableActionList ,AlterTableActionList ,AlterTableActionList )-data Inh_AlterTableActionList = Inh_AlterTableActionList {cat_Inh_AlterTableActionList :: Catalog,idenv_Inh_AlterTableActionList :: IDEnv,lib_Inh_AlterTableActionList :: LocalBindings}-data Syn_AlterTableActionList = Syn_AlterTableActionList {annotatedTree_Syn_AlterTableActionList :: AlterTableActionList ,fixedUpIdentifiersTree_Syn_AlterTableActionList :: AlterTableActionList ,originalTree_Syn_AlterTableActionList :: AlterTableActionList }-wrap_AlterTableActionList :: T_AlterTableActionList ->- Inh_AlterTableActionList ->- Syn_AlterTableActionList -wrap_AlterTableActionList sem (Inh_AlterTableActionList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_AlterTableActionList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_AlterTableActionList_Cons :: T_AlterTableAction ->- T_AlterTableActionList ->- T_AlterTableActionList -sem_AlterTableActionList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: AlterTableActionList - _lhsOfixedUpIdentifiersTree :: AlterTableActionList - _lhsOoriginalTree :: AlterTableActionList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: AlterTableAction - _hdIfixedUpIdentifiersTree :: AlterTableAction - _hdIoriginalTree :: AlterTableAction - _tlIannotatedTree :: AlterTableActionList - _tlIfixedUpIdentifiersTree :: AlterTableActionList - _tlIoriginalTree :: AlterTableActionList - -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_AlterTableActionList_Nil :: T_AlterTableActionList -sem_AlterTableActionList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: AlterTableActionList - _lhsOfixedUpIdentifiersTree :: AlterTableActionList - _lhsOoriginalTree :: AlterTableActionList - -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- AttributeDef -------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - attrName : String- fixedUpIdentifiersTree : SELF - namedType : Maybe Type- originalTree : SELF - alternatives:- alternative AttributeDef:- child ann : {Annotation}- child name : {String}- child typ : TypeName - child def : MaybeScalarExpr - child cons : RowConstraintList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data AttributeDef = AttributeDef (Annotation) (String) (TypeName ) (MaybeScalarExpr ) (RowConstraintList ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_AttributeDef :: AttributeDef ->- T_AttributeDef -sem_AttributeDef (AttributeDef _ann _name _typ _def _cons ) =- (sem_AttributeDef_AttributeDef _ann _name (sem_TypeName _typ ) (sem_MaybeScalarExpr _def ) (sem_RowConstraintList _cons ) )--- semantic domain-type T_AttributeDef = Catalog ->- IDEnv ->- LocalBindings ->- ( AttributeDef ,String,AttributeDef ,(Maybe Type),AttributeDef )-data Inh_AttributeDef = Inh_AttributeDef {cat_Inh_AttributeDef :: Catalog,idenv_Inh_AttributeDef :: IDEnv,lib_Inh_AttributeDef :: LocalBindings}-data Syn_AttributeDef = Syn_AttributeDef {annotatedTree_Syn_AttributeDef :: AttributeDef ,attrName_Syn_AttributeDef :: String,fixedUpIdentifiersTree_Syn_AttributeDef :: AttributeDef ,namedType_Syn_AttributeDef :: (Maybe Type),originalTree_Syn_AttributeDef :: AttributeDef }-wrap_AttributeDef :: T_AttributeDef ->- Inh_AttributeDef ->- Syn_AttributeDef -wrap_AttributeDef sem (Inh_AttributeDef _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOattrName,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_AttributeDef _lhsOannotatedTree _lhsOattrName _lhsOfixedUpIdentifiersTree _lhsOnamedType _lhsOoriginalTree ))-sem_AttributeDef_AttributeDef :: Annotation ->- String ->- T_TypeName ->- T_MaybeScalarExpr ->- T_RowConstraintList ->- T_AttributeDef -sem_AttributeDef_AttributeDef ann_ name_ typ_ def_ cons_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOattrName :: String- _lhsOnamedType :: (Maybe Type)- _consOlib :: LocalBindings- _lhsOannotatedTree :: AttributeDef - _lhsOfixedUpIdentifiersTree :: AttributeDef - _lhsOoriginalTree :: AttributeDef - _typOcat :: Catalog- _typOidenv :: IDEnv- _typOlib :: LocalBindings- _defOcat :: Catalog- _defOidenv :: IDEnv- _defOlib :: LocalBindings- _consOcat :: Catalog- _consOidenv :: IDEnv- _typIannotatedTree :: TypeName - _typIfixedUpIdentifiersTree :: TypeName - _typInamedType :: (Maybe Type)- _typIoriginalTree :: TypeName - _defIannotatedTree :: MaybeScalarExpr - _defIfixedUpIdentifiersTree :: MaybeScalarExpr - _defIoriginalTree :: MaybeScalarExpr - _defIuType :: (Maybe Type)- _consIannotatedTree :: RowConstraintList - _consIfixedUpIdentifiersTree :: RowConstraintList - _consIoriginalTree :: RowConstraintList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 83, column 9)- _lhsOattrName =- map toLower name_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 84, column 9)- _lhsOnamedType =- _typInamedType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 98, column 9)- _consOlib =- either (const _lhsIlib) id $ do- t <- lmt _typInamedType- lbUpdate _lhsIcat- (LBIds "attribute def" Nothing- [(name_, t)]) _lhsIlib- -- self rule- _annotatedTree =- AttributeDef ann_ name_ _typIannotatedTree _defIannotatedTree _consIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- AttributeDef ann_ name_ _typIfixedUpIdentifiersTree _defIfixedUpIdentifiersTree _consIfixedUpIdentifiersTree- -- self rule- _originalTree =- AttributeDef ann_ name_ _typIoriginalTree _defIoriginalTree _consIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _typOcat =- _lhsIcat- -- copy rule (down)- _typOidenv =- _lhsIidenv- -- copy rule (down)- _typOlib =- _lhsIlib- -- copy rule (down)- _defOcat =- _lhsIcat- -- copy rule (down)- _defOidenv =- _lhsIidenv- -- copy rule (down)- _defOlib =- _lhsIlib- -- copy rule (down)- _consOcat =- _lhsIcat- -- copy rule (down)- _consOidenv =- _lhsIidenv- ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOidenv _typOlib - ( _defIannotatedTree,_defIfixedUpIdentifiersTree,_defIoriginalTree,_defIuType) =- def_ _defOcat _defOidenv _defOlib - ( _consIannotatedTree,_consIfixedUpIdentifiersTree,_consIoriginalTree) =- cons_ _consOcat _consOidenv _consOlib - in ( _lhsOannotatedTree,_lhsOattrName,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))--- AttributeDefList ---------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - attrs : [(String, Maybe Type)]- fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Cons:- child hd : AttributeDef - child tl : AttributeDefList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type AttributeDefList = [AttributeDef ]--- cata-sem_AttributeDefList :: AttributeDefList ->- T_AttributeDefList -sem_AttributeDefList list =- (Prelude.foldr sem_AttributeDefList_Cons sem_AttributeDefList_Nil (Prelude.map sem_AttributeDef list) )--- semantic domain-type T_AttributeDefList = Catalog ->- IDEnv ->- LocalBindings ->- ( AttributeDefList ,([(String, Maybe Type)]),AttributeDefList ,AttributeDefList )-data Inh_AttributeDefList = Inh_AttributeDefList {cat_Inh_AttributeDefList :: Catalog,idenv_Inh_AttributeDefList :: IDEnv,lib_Inh_AttributeDefList :: LocalBindings}-data Syn_AttributeDefList = Syn_AttributeDefList {annotatedTree_Syn_AttributeDefList :: AttributeDefList ,attrs_Syn_AttributeDefList :: ([(String, Maybe Type)]),fixedUpIdentifiersTree_Syn_AttributeDefList :: AttributeDefList ,originalTree_Syn_AttributeDefList :: AttributeDefList }-wrap_AttributeDefList :: T_AttributeDefList ->- Inh_AttributeDefList ->- Syn_AttributeDefList -wrap_AttributeDefList sem (Inh_AttributeDefList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_AttributeDefList _lhsOannotatedTree _lhsOattrs _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_AttributeDefList_Cons :: T_AttributeDef ->- T_AttributeDefList ->- T_AttributeDefList -sem_AttributeDefList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOattrs :: ([(String, Maybe Type)])- _lhsOannotatedTree :: AttributeDefList - _lhsOfixedUpIdentifiersTree :: AttributeDefList - _lhsOoriginalTree :: AttributeDefList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: AttributeDef - _hdIattrName :: String- _hdIfixedUpIdentifiersTree :: AttributeDef - _hdInamedType :: (Maybe Type)- _hdIoriginalTree :: AttributeDef - _tlIannotatedTree :: AttributeDefList - _tlIattrs :: ([(String, Maybe Type)])- _tlIfixedUpIdentifiersTree :: AttributeDefList - _tlIoriginalTree :: AttributeDefList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 88, column 12)- _lhsOattrs =- (_hdIattrName, _hdInamedType) : _tlIattrs- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIattrName,_hdIfixedUpIdentifiersTree,_hdInamedType,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIattrs,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_AttributeDefList_Nil :: T_AttributeDefList -sem_AttributeDefList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOattrs :: ([(String, Maybe Type)])- _lhsOannotatedTree :: AttributeDefList - _lhsOfixedUpIdentifiersTree :: AttributeDefList - _lhsOoriginalTree :: AttributeDefList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 89, column 11)- _lhsOattrs =- []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- CaseScalarExprListScalarExprPair -----------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - thenType : Maybe Type- whenTypes : [Maybe Type]- alternatives:- alternative Tuple:- child x1 : ScalarExprList - child x2 : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type CaseScalarExprListScalarExprPair = ( ScalarExprList ,ScalarExpr )--- cata-sem_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ->- T_CaseScalarExprListScalarExprPair -sem_CaseScalarExprListScalarExprPair ( x1,x2) =- (sem_CaseScalarExprListScalarExprPair_Tuple (sem_ScalarExprList x1 ) (sem_ScalarExpr x2 ) )--- semantic domain-type T_CaseScalarExprListScalarExprPair = Catalog ->- IDEnv ->- LocalBindings ->- ( CaseScalarExprListScalarExprPair ,CaseScalarExprListScalarExprPair ,CaseScalarExprListScalarExprPair ,(Maybe Type),([Maybe Type]))-data Inh_CaseScalarExprListScalarExprPair = Inh_CaseScalarExprListScalarExprPair {cat_Inh_CaseScalarExprListScalarExprPair :: Catalog,idenv_Inh_CaseScalarExprListScalarExprPair :: IDEnv,lib_Inh_CaseScalarExprListScalarExprPair :: LocalBindings}-data Syn_CaseScalarExprListScalarExprPair = Syn_CaseScalarExprListScalarExprPair {annotatedTree_Syn_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ,fixedUpIdentifiersTree_Syn_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ,originalTree_Syn_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ,thenType_Syn_CaseScalarExprListScalarExprPair :: (Maybe Type),whenTypes_Syn_CaseScalarExprListScalarExprPair :: ([Maybe Type])}-wrap_CaseScalarExprListScalarExprPair :: T_CaseScalarExprListScalarExprPair ->- Inh_CaseScalarExprListScalarExprPair ->- Syn_CaseScalarExprListScalarExprPair -wrap_CaseScalarExprListScalarExprPair sem (Inh_CaseScalarExprListScalarExprPair _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOthenType,_lhsOwhenTypes) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_CaseScalarExprListScalarExprPair _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOthenType _lhsOwhenTypes ))-sem_CaseScalarExprListScalarExprPair_Tuple :: T_ScalarExprList ->- T_ScalarExpr ->- T_CaseScalarExprListScalarExprPair -sem_CaseScalarExprListScalarExprPair_Tuple x1_ x2_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOwhenTypes :: ([Maybe Type])- _lhsOthenType :: (Maybe Type)- _x1OexpectedTypes :: ([Maybe Type])- _x2OexpectedType :: (Maybe Type)- _lhsOannotatedTree :: CaseScalarExprListScalarExprPair - _lhsOfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPair - _lhsOoriginalTree :: CaseScalarExprListScalarExprPair - _x1Ocat :: Catalog- _x1Oidenv :: IDEnv- _x1Olib :: LocalBindings- _x2Ocat :: Catalog- _x2Oidenv :: IDEnv- _x2Olib :: LocalBindings- _x1IannotatedTree :: ScalarExprList - _x1IfixedUpIdentifiersTree :: ScalarExprList - _x1IoriginalTree :: ScalarExprList - _x1IuType :: ([Maybe Type])- _x2IannotatedTree :: ScalarExpr - _x2IfixedUpIdentifiersTree :: ScalarExpr - _x2IoriginalTree :: ScalarExpr - _x2IuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 270, column 13)- _lhsOwhenTypes =- _x1IuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 271, column 13)- _lhsOthenType =- _x2IuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 76, column 13)- _x1OexpectedTypes =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 77, column 13)- _x2OexpectedType =- Nothing- -- self rule- _annotatedTree =- (_x1IannotatedTree,_x2IannotatedTree)- -- self rule- _fixedUpIdentifiersTree =- (_x1IfixedUpIdentifiersTree,_x2IfixedUpIdentifiersTree)- -- self rule- _originalTree =- (_x1IoriginalTree,_x2IoriginalTree)- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _x1Ocat =- _lhsIcat- -- copy rule (down)- _x1Oidenv =- _lhsIidenv- -- copy rule (down)- _x1Olib =- _lhsIlib- -- copy rule (down)- _x2Ocat =- _lhsIcat- -- copy rule (down)- _x2Oidenv =- _lhsIidenv- -- copy rule (down)- _x2Olib =- _lhsIlib- ( _x1IannotatedTree,_x1IfixedUpIdentifiersTree,_x1IoriginalTree,_x1IuType) =- x1_ _x1Ocat _x1OexpectedTypes _x1Oidenv _x1Olib - ( _x2IannotatedTree,_x2IfixedUpIdentifiersTree,_x2IoriginalTree,_x2IuType) =- x2_ _x2Ocat _x2OexpectedType _x2Oidenv _x2Olib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOthenType,_lhsOwhenTypes)))--- CaseScalarExprListScalarExprPairList -------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - thenTypes : [Maybe Type]- whenTypes : [[Maybe Type]]- alternatives:- alternative Cons:- child hd : CaseScalarExprListScalarExprPair - child tl : CaseScalarExprListScalarExprPairList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type CaseScalarExprListScalarExprPairList = [CaseScalarExprListScalarExprPair ]--- cata-sem_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ->- T_CaseScalarExprListScalarExprPairList -sem_CaseScalarExprListScalarExprPairList list =- (Prelude.foldr sem_CaseScalarExprListScalarExprPairList_Cons sem_CaseScalarExprListScalarExprPairList_Nil (Prelude.map sem_CaseScalarExprListScalarExprPair list) )--- semantic domain-type T_CaseScalarExprListScalarExprPairList = Catalog ->- IDEnv ->- LocalBindings ->- ( CaseScalarExprListScalarExprPairList ,CaseScalarExprListScalarExprPairList ,CaseScalarExprListScalarExprPairList ,([Maybe Type]),([[Maybe Type]]))-data Inh_CaseScalarExprListScalarExprPairList = Inh_CaseScalarExprListScalarExprPairList {cat_Inh_CaseScalarExprListScalarExprPairList :: Catalog,idenv_Inh_CaseScalarExprListScalarExprPairList :: IDEnv,lib_Inh_CaseScalarExprListScalarExprPairList :: LocalBindings}-data Syn_CaseScalarExprListScalarExprPairList = Syn_CaseScalarExprListScalarExprPairList {annotatedTree_Syn_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ,fixedUpIdentifiersTree_Syn_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ,originalTree_Syn_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ,thenTypes_Syn_CaseScalarExprListScalarExprPairList :: ([Maybe Type]),whenTypes_Syn_CaseScalarExprListScalarExprPairList :: ([[Maybe Type]])}-wrap_CaseScalarExprListScalarExprPairList :: T_CaseScalarExprListScalarExprPairList ->- Inh_CaseScalarExprListScalarExprPairList ->- Syn_CaseScalarExprListScalarExprPairList -wrap_CaseScalarExprListScalarExprPairList sem (Inh_CaseScalarExprListScalarExprPairList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOthenTypes,_lhsOwhenTypes) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_CaseScalarExprListScalarExprPairList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOthenTypes _lhsOwhenTypes ))-sem_CaseScalarExprListScalarExprPairList_Cons :: T_CaseScalarExprListScalarExprPair ->- T_CaseScalarExprListScalarExprPairList ->- T_CaseScalarExprListScalarExprPairList -sem_CaseScalarExprListScalarExprPairList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOwhenTypes :: ([[Maybe Type]])- _lhsOthenTypes :: ([Maybe Type])- _lhsOannotatedTree :: CaseScalarExprListScalarExprPairList - _lhsOfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPairList - _lhsOoriginalTree :: CaseScalarExprListScalarExprPairList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: CaseScalarExprListScalarExprPair - _hdIfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPair - _hdIoriginalTree :: CaseScalarExprListScalarExprPair - _hdIthenType :: (Maybe Type)- _hdIwhenTypes :: ([Maybe Type])- _tlIannotatedTree :: CaseScalarExprListScalarExprPairList - _tlIfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPairList - _tlIoriginalTree :: CaseScalarExprListScalarExprPairList - _tlIthenTypes :: ([Maybe Type])- _tlIwhenTypes :: ([[Maybe Type]])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 261, column 10)- _lhsOwhenTypes =- _hdIwhenTypes : _tlIwhenTypes- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 262, column 10)- _lhsOthenTypes =- _hdIthenType : _tlIthenTypes- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree,_hdIthenType,_hdIwhenTypes) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIthenTypes,_tlIwhenTypes) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOthenTypes,_lhsOwhenTypes)))-sem_CaseScalarExprListScalarExprPairList_Nil :: T_CaseScalarExprListScalarExprPairList -sem_CaseScalarExprListScalarExprPairList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOwhenTypes :: ([[Maybe Type]])- _lhsOthenTypes :: ([Maybe Type])- _lhsOannotatedTree :: CaseScalarExprListScalarExprPairList - _lhsOfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPairList - _lhsOoriginalTree :: CaseScalarExprListScalarExprPairList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 263, column 9)- _lhsOwhenTypes =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 264, column 9)- _lhsOthenTypes =- []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOthenTypes,_lhsOwhenTypes)))--- Constraint ---------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative CheckConstraint:- child ann : {Annotation}- child name : {String}- child expr : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative PrimaryKeyConstraint:- child ann : {Annotation}- child name : {String}- child x : {[String]}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative ReferenceConstraint:- child ann : {Annotation}- child name : {String}- child atts : {[String]}- child table : {String}- child tableAtts : {[String]}- child onUpdate : {Cascade}- child onDelete : {Cascade}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative UniqueConstraint:- child ann : {Annotation}- child name : {String}- child x : {[String]}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data Constraint = CheckConstraint (Annotation) (String) (ScalarExpr ) - | PrimaryKeyConstraint (Annotation) (String) (([String])) - | ReferenceConstraint (Annotation) (String) (([String])) (String) (([String])) (Cascade) (Cascade) - | UniqueConstraint (Annotation) (String) (([String])) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_Constraint :: Constraint ->- T_Constraint -sem_Constraint (CheckConstraint _ann _name _expr ) =- (sem_Constraint_CheckConstraint _ann _name (sem_ScalarExpr _expr ) )-sem_Constraint (PrimaryKeyConstraint _ann _name _x ) =- (sem_Constraint_PrimaryKeyConstraint _ann _name _x )-sem_Constraint (ReferenceConstraint _ann _name _atts _table _tableAtts _onUpdate _onDelete ) =- (sem_Constraint_ReferenceConstraint _ann _name _atts _table _tableAtts _onUpdate _onDelete )-sem_Constraint (UniqueConstraint _ann _name _x ) =- (sem_Constraint_UniqueConstraint _ann _name _x )--- semantic domain-type T_Constraint = Catalog ->- IDEnv ->- LocalBindings ->- ( Constraint ,Constraint ,Constraint )-data Inh_Constraint = Inh_Constraint {cat_Inh_Constraint :: Catalog,idenv_Inh_Constraint :: IDEnv,lib_Inh_Constraint :: LocalBindings}-data Syn_Constraint = Syn_Constraint {annotatedTree_Syn_Constraint :: Constraint ,fixedUpIdentifiersTree_Syn_Constraint :: Constraint ,originalTree_Syn_Constraint :: Constraint }-wrap_Constraint :: T_Constraint ->- Inh_Constraint ->- Syn_Constraint -wrap_Constraint sem (Inh_Constraint _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_Constraint _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_Constraint_CheckConstraint :: Annotation ->- String ->- T_ScalarExpr ->- T_Constraint -sem_Constraint_CheckConstraint ann_ name_ expr_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _exprOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: Constraint - _lhsOfixedUpIdentifiersTree :: Constraint - _lhsOoriginalTree :: Constraint - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _exprIannotatedTree :: ScalarExpr - _exprIfixedUpIdentifiersTree :: ScalarExpr - _exprIoriginalTree :: ScalarExpr - _exprIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 80, column 23)- _exprOexpectedType =- Nothing- -- self rule- _annotatedTree =- CheckConstraint ann_ name_ _exprIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CheckConstraint ann_ name_ _exprIfixedUpIdentifiersTree- -- self rule- _originalTree =- CheckConstraint ann_ name_ _exprIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_Constraint_PrimaryKeyConstraint :: Annotation ->- String ->- ([String]) ->- T_Constraint -sem_Constraint_PrimaryKeyConstraint ann_ name_ x_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: Constraint - _lhsOfixedUpIdentifiersTree :: Constraint - _lhsOoriginalTree :: Constraint - -- self rule- _annotatedTree =- PrimaryKeyConstraint ann_ name_ x_- -- self rule- _fixedUpIdentifiersTree =- PrimaryKeyConstraint ann_ name_ x_- -- self rule- _originalTree =- PrimaryKeyConstraint ann_ name_ x_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_Constraint_ReferenceConstraint :: Annotation ->- String ->- ([String]) ->- String ->- ([String]) ->- Cascade ->- Cascade ->- T_Constraint -sem_Constraint_ReferenceConstraint ann_ name_ atts_ table_ tableAtts_ onUpdate_ onDelete_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: Constraint - _lhsOfixedUpIdentifiersTree :: Constraint - _lhsOoriginalTree :: Constraint - -- self rule- _annotatedTree =- ReferenceConstraint ann_ name_ atts_ table_ tableAtts_ onUpdate_ onDelete_- -- self rule- _fixedUpIdentifiersTree =- ReferenceConstraint ann_ name_ atts_ table_ tableAtts_ onUpdate_ onDelete_- -- self rule- _originalTree =- ReferenceConstraint ann_ name_ atts_ table_ tableAtts_ onUpdate_ onDelete_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_Constraint_UniqueConstraint :: Annotation ->- String ->- ([String]) ->- T_Constraint -sem_Constraint_UniqueConstraint ann_ name_ x_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: Constraint - _lhsOfixedUpIdentifiersTree :: Constraint - _lhsOoriginalTree :: Constraint - -- self rule- _annotatedTree =- UniqueConstraint ann_ name_ x_- -- self rule- _fixedUpIdentifiersTree =- UniqueConstraint ann_ name_ x_- -- self rule- _originalTree =- UniqueConstraint ann_ name_ x_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- ConstraintList -----------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Cons:- child hd : Constraint - child tl : ConstraintList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type ConstraintList = [Constraint ]--- cata-sem_ConstraintList :: ConstraintList ->- T_ConstraintList -sem_ConstraintList list =- (Prelude.foldr sem_ConstraintList_Cons sem_ConstraintList_Nil (Prelude.map sem_Constraint list) )--- semantic domain-type T_ConstraintList = Catalog ->- IDEnv ->- LocalBindings ->- ( ConstraintList ,ConstraintList ,ConstraintList )-data Inh_ConstraintList = Inh_ConstraintList {cat_Inh_ConstraintList :: Catalog,idenv_Inh_ConstraintList :: IDEnv,lib_Inh_ConstraintList :: LocalBindings}-data Syn_ConstraintList = Syn_ConstraintList {annotatedTree_Syn_ConstraintList :: ConstraintList ,fixedUpIdentifiersTree_Syn_ConstraintList :: ConstraintList ,originalTree_Syn_ConstraintList :: ConstraintList }-wrap_ConstraintList :: T_ConstraintList ->- Inh_ConstraintList ->- Syn_ConstraintList -wrap_ConstraintList sem (Inh_ConstraintList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_ConstraintList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_ConstraintList_Cons :: T_Constraint ->- T_ConstraintList ->- T_ConstraintList -sem_ConstraintList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ConstraintList - _lhsOfixedUpIdentifiersTree :: ConstraintList - _lhsOoriginalTree :: ConstraintList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: Constraint - _hdIfixedUpIdentifiersTree :: Constraint - _hdIoriginalTree :: Constraint - _tlIannotatedTree :: ConstraintList - _tlIfixedUpIdentifiersTree :: ConstraintList - _tlIoriginalTree :: ConstraintList - -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_ConstraintList_Nil :: T_ConstraintList -sem_ConstraintList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ConstraintList - _lhsOfixedUpIdentifiersTree :: ConstraintList - _lhsOoriginalTree :: ConstraintList - -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- FnBody -------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative PlpgsqlFnBody:- child ann : {Annotation}- child blk : Statement - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative SqlFnBody:- child ann : {Annotation}- child sts : StatementList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data FnBody = PlpgsqlFnBody (Annotation) (Statement ) - | SqlFnBody (Annotation) (StatementList ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_FnBody :: FnBody ->- T_FnBody -sem_FnBody (PlpgsqlFnBody _ann _blk ) =- (sem_FnBody_PlpgsqlFnBody _ann (sem_Statement _blk ) )-sem_FnBody (SqlFnBody _ann _sts ) =- (sem_FnBody_SqlFnBody _ann (sem_StatementList _sts ) )--- semantic domain-type T_FnBody = Catalog ->- IDEnv ->- LocalBindings ->- ( FnBody ,FnBody ,FnBody )-data Inh_FnBody = Inh_FnBody {cat_Inh_FnBody :: Catalog,idenv_Inh_FnBody :: IDEnv,lib_Inh_FnBody :: LocalBindings}-data Syn_FnBody = Syn_FnBody {annotatedTree_Syn_FnBody :: FnBody ,fixedUpIdentifiersTree_Syn_FnBody :: FnBody ,originalTree_Syn_FnBody :: FnBody }-wrap_FnBody :: T_FnBody ->- Inh_FnBody ->- Syn_FnBody -wrap_FnBody sem (Inh_FnBody _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_FnBody _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_FnBody_PlpgsqlFnBody :: Annotation ->- T_Statement ->- T_FnBody -sem_FnBody_PlpgsqlFnBody ann_ blk_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _blkOinProducedCat :: Catalog- _lhsOannotatedTree :: FnBody - _lhsOfixedUpIdentifiersTree :: FnBody - _lhsOoriginalTree :: FnBody - _blkOcat :: Catalog- _blkOidenv :: IDEnv- _blkOlib :: LocalBindings- _blkIannotatedTree :: Statement - _blkIcatUpdates :: ([CatalogUpdate])- _blkIfixedUpIdentifiersTree :: Statement - _blkIlibUpdates :: ([LocalBindingsUpdate])- _blkIoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 104, column 9)- _blkOinProducedCat =- emptyCatalog- -- self rule- _annotatedTree =- PlpgsqlFnBody ann_ _blkIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- PlpgsqlFnBody ann_ _blkIfixedUpIdentifiersTree- -- self rule- _originalTree =- PlpgsqlFnBody ann_ _blkIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _blkOcat =- _lhsIcat- -- copy rule (down)- _blkOidenv =- _lhsIidenv- -- copy rule (down)- _blkOlib =- _lhsIlib- ( _blkIannotatedTree,_blkIcatUpdates,_blkIfixedUpIdentifiersTree,_blkIlibUpdates,_blkIoriginalTree) =- blk_ _blkOcat _blkOidenv _blkOinProducedCat _blkOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_FnBody_SqlFnBody :: Annotation ->- T_StatementList ->- T_FnBody -sem_FnBody_SqlFnBody ann_ sts_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _stsOcatUpdates :: ([CatalogUpdate])- _stsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: FnBody - _lhsOfixedUpIdentifiersTree :: FnBody - _lhsOoriginalTree :: FnBody - _stsOcat :: Catalog- _stsOidenv :: IDEnv- _stsOlib :: LocalBindings- _stsIannotatedTree :: StatementList - _stsIfixedUpIdentifiersTree :: StatementList - _stsIoriginalTree :: StatementList - _stsIproducedCat :: Catalog- _stsIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 129, column 9)- _stsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 130, column 9)- _stsOlibUpdates =- []- -- self rule- _annotatedTree =- SqlFnBody ann_ _stsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- SqlFnBody ann_ _stsIfixedUpIdentifiersTree- -- self rule- _originalTree =- SqlFnBody ann_ _stsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _stsOcat =- _lhsIcat- -- copy rule (down)- _stsOidenv =- _lhsIidenv- -- copy rule (down)- _stsOlib =- _lhsIlib- ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =- sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- InList -------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- expectedType : Maybe Type- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - listType : Either [TypeError] Type- originalTree : SELF - alternatives:- alternative InList:- child ann : {Annotation}- child exprs : ScalarExprList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative InQueryExpr:- child ann : {Annotation}- child sel : QueryExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data InList = InList (Annotation) (ScalarExprList ) - | InQueryExpr (Annotation) (QueryExpr ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_InList :: InList ->- T_InList -sem_InList (InList _ann _exprs ) =- (sem_InList_InList _ann (sem_ScalarExprList _exprs ) )-sem_InList (InQueryExpr _ann _sel ) =- (sem_InList_InQueryExpr _ann (sem_QueryExpr _sel ) )--- semantic domain-type T_InList = Catalog ->- (Maybe Type) ->- IDEnv ->- LocalBindings ->- ( InList ,InList ,(Either [TypeError] Type),InList )-data Inh_InList = Inh_InList {cat_Inh_InList :: Catalog,expectedType_Inh_InList :: (Maybe Type),idenv_Inh_InList :: IDEnv,lib_Inh_InList :: LocalBindings}-data Syn_InList = Syn_InList {annotatedTree_Syn_InList :: InList ,fixedUpIdentifiersTree_Syn_InList :: InList ,listType_Syn_InList :: (Either [TypeError] Type),originalTree_Syn_InList :: InList }-wrap_InList :: T_InList ->- Inh_InList ->- Syn_InList -wrap_InList sem (Inh_InList _lhsIcat _lhsIexpectedType _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree) = sem _lhsIcat _lhsIexpectedType _lhsIidenv _lhsIlib - in (Syn_InList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOlistType _lhsOoriginalTree ))-sem_InList_InList :: Annotation ->- T_ScalarExprList ->- T_InList -sem_InList_InList ann_ exprs_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOlistType :: (Either [TypeError] Type)- _exprsOexpectedTypes :: ([Maybe Type])- _lhsOannotatedTree :: InList - _lhsOfixedUpIdentifiersTree :: InList - _lhsOoriginalTree :: InList - _exprsOcat :: Catalog- _exprsOidenv :: IDEnv- _exprsOlib :: LocalBindings- _exprsIannotatedTree :: ScalarExprList - _exprsIfixedUpIdentifiersTree :: ScalarExprList - _exprsIoriginalTree :: ScalarExprList - _exprsIuType :: ([Maybe Type])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 409, column 9)- _lhsOlistType =- mapM lmt _exprsIuType >>= resolveResultSetType _lhsIcat- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 410, column 9)- _exprsOexpectedTypes =- repeat _lhsIexpectedType- -- self rule- _annotatedTree =- InList ann_ _exprsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- InList ann_ _exprsIfixedUpIdentifiersTree- -- self rule- _originalTree =- InList ann_ _exprsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprsOcat =- _lhsIcat- -- copy rule (down)- _exprsOidenv =- _lhsIidenv- -- copy rule (down)- _exprsOlib =- _lhsIlib- ( _exprsIannotatedTree,_exprsIfixedUpIdentifiersTree,_exprsIoriginalTree,_exprsIuType) =- exprs_ _exprsOcat _exprsOexpectedTypes _exprsOidenv _exprsOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))-sem_InList_InQueryExpr :: Annotation ->- T_QueryExpr ->- T_InList -sem_InList_InQueryExpr ann_ sel_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOlistType :: (Either [TypeError] Type)- _selOcsql :: LocalBindings- _selOexpectedTypes :: ([Maybe Type])- _lhsOannotatedTree :: InList - _lhsOfixedUpIdentifiersTree :: InList - _lhsOoriginalTree :: InList - _selOcat :: Catalog- _selOidenv :: IDEnv- _selOlib :: LocalBindings- _selIannotatedTree :: QueryExpr - _selIcidenv :: IDEnv- _selIfixedUpIdentifiersTree :: QueryExpr - _selIlibUpdates :: ([LocalBindingsUpdate])- _selIoriginalTree :: QueryExpr - _selIuType :: (Maybe [(String,Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 413, column 9)- _lhsOlistType =- do- st <- lmt (map snd <$> _selIuType)- case length st of- 0 -> Left [InternalError- "got subquery with no columns? in inselect"]- 1 -> Right $ head st- _ -> Right $ AnonymousRecordType st- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 120, column 19)- _selOcsql =- emptyBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 173, column 19)- _selOexpectedTypes =- []- -- self rule- _annotatedTree =- InQueryExpr ann_ _selIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- InQueryExpr ann_ _selIfixedUpIdentifiersTree- -- self rule- _originalTree =- InQueryExpr ann_ _selIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _selOcat =- _lhsIcat- -- copy rule (down)- _selOidenv =- _lhsIidenv- -- copy rule (down)- _selOlib =- _lhsIlib- ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =- sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))--- JoinExpr -----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative JoinOn:- child ann : {Annotation}- child expr : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative JoinUsing:- child ann : {Annotation}- child x : {[String]}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data JoinExpr = JoinOn (Annotation) (ScalarExpr ) - | JoinUsing (Annotation) (([String])) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_JoinExpr :: JoinExpr ->- T_JoinExpr -sem_JoinExpr (JoinOn _ann _expr ) =- (sem_JoinExpr_JoinOn _ann (sem_ScalarExpr _expr ) )-sem_JoinExpr (JoinUsing _ann _x ) =- (sem_JoinExpr_JoinUsing _ann _x )--- semantic domain-type T_JoinExpr = Catalog ->- IDEnv ->- LocalBindings ->- ( JoinExpr ,JoinExpr ,JoinExpr )-data Inh_JoinExpr = Inh_JoinExpr {cat_Inh_JoinExpr :: Catalog,idenv_Inh_JoinExpr :: IDEnv,lib_Inh_JoinExpr :: LocalBindings}-data Syn_JoinExpr = Syn_JoinExpr {annotatedTree_Syn_JoinExpr :: JoinExpr ,fixedUpIdentifiersTree_Syn_JoinExpr :: JoinExpr ,originalTree_Syn_JoinExpr :: JoinExpr }-wrap_JoinExpr :: T_JoinExpr ->- Inh_JoinExpr ->- Syn_JoinExpr -wrap_JoinExpr sem (Inh_JoinExpr _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_JoinExpr _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_JoinExpr_JoinOn :: Annotation ->- T_ScalarExpr ->- T_JoinExpr -sem_JoinExpr_JoinOn ann_ expr_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _exprOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: JoinExpr - _lhsOfixedUpIdentifiersTree :: JoinExpr - _lhsOoriginalTree :: JoinExpr - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _exprIannotatedTree :: ScalarExpr - _exprIfixedUpIdentifiersTree :: ScalarExpr - _exprIoriginalTree :: ScalarExpr - _exprIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 94, column 14)- _exprOexpectedType =- Just typeBool- -- self rule- _annotatedTree =- JoinOn ann_ _exprIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- JoinOn ann_ _exprIfixedUpIdentifiersTree- -- self rule- _originalTree =- JoinOn ann_ _exprIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_JoinExpr_JoinUsing :: Annotation ->- ([String]) ->- T_JoinExpr -sem_JoinExpr_JoinUsing ann_ x_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: JoinExpr - _lhsOfixedUpIdentifiersTree :: JoinExpr - _lhsOoriginalTree :: JoinExpr - -- self rule- _annotatedTree =- JoinUsing ann_ x_- -- self rule- _fixedUpIdentifiersTree =- JoinUsing ann_ x_- -- self rule- _originalTree =- JoinUsing ann_ x_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- MaybeBoolExpr ------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Just:- child just : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nothing:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type MaybeBoolExpr = Maybe ScalarExpr --- cata-sem_MaybeBoolExpr :: MaybeBoolExpr ->- T_MaybeBoolExpr -sem_MaybeBoolExpr (Prelude.Just x ) =- (sem_MaybeBoolExpr_Just (sem_ScalarExpr x ) )-sem_MaybeBoolExpr Prelude.Nothing =- sem_MaybeBoolExpr_Nothing--- semantic domain-type T_MaybeBoolExpr = Catalog ->- IDEnv ->- LocalBindings ->- ( MaybeBoolExpr ,MaybeBoolExpr ,MaybeBoolExpr )-data Inh_MaybeBoolExpr = Inh_MaybeBoolExpr {cat_Inh_MaybeBoolExpr :: Catalog,idenv_Inh_MaybeBoolExpr :: IDEnv,lib_Inh_MaybeBoolExpr :: LocalBindings}-data Syn_MaybeBoolExpr = Syn_MaybeBoolExpr {annotatedTree_Syn_MaybeBoolExpr :: MaybeBoolExpr ,fixedUpIdentifiersTree_Syn_MaybeBoolExpr :: MaybeBoolExpr ,originalTree_Syn_MaybeBoolExpr :: MaybeBoolExpr }-wrap_MaybeBoolExpr :: T_MaybeBoolExpr ->- Inh_MaybeBoolExpr ->- Syn_MaybeBoolExpr -wrap_MaybeBoolExpr sem (Inh_MaybeBoolExpr _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_MaybeBoolExpr _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_MaybeBoolExpr_Just :: T_ScalarExpr ->- T_MaybeBoolExpr -sem_MaybeBoolExpr_Just just_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: MaybeBoolExpr - _justOexpectedType :: (Maybe Type)- _lhsOfixedUpIdentifiersTree :: MaybeBoolExpr - _lhsOoriginalTree :: MaybeBoolExpr - _justOcat :: Catalog- _justOidenv :: IDEnv- _justOlib :: LocalBindings- _justIannotatedTree :: ScalarExpr - _justIfixedUpIdentifiersTree :: ScalarExpr - _justIoriginalTree :: ScalarExpr - _justIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 132, column 9)- _lhsOannotatedTree =- let t = _justIuType- in if t `elem` [Nothing,Just typeBool]- then Just _justIannotatedTree- else Just $ addTypeErrors [ExpressionMustBeBool] _justIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 97, column 12)- _justOexpectedType =- Just typeBool- -- self rule- _annotatedTree =- Just _justIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Just _justIfixedUpIdentifiersTree- -- self rule- _originalTree =- Just _justIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _justOcat =- _lhsIcat- -- copy rule (down)- _justOidenv =- _lhsIidenv- -- copy rule (down)- _justOlib =- _lhsIlib- ( _justIannotatedTree,_justIfixedUpIdentifiersTree,_justIoriginalTree,_justIuType) =- just_ _justOcat _justOexpectedType _justOidenv _justOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_MaybeBoolExpr_Nothing :: T_MaybeBoolExpr -sem_MaybeBoolExpr_Nothing =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: MaybeBoolExpr - _lhsOfixedUpIdentifiersTree :: MaybeBoolExpr - _lhsOoriginalTree :: MaybeBoolExpr - -- self rule- _annotatedTree =- Nothing- -- self rule- _fixedUpIdentifiersTree =- Nothing- -- self rule- _originalTree =- Nothing- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- MaybeScalarExpr ----------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - uType : Maybe Type- alternatives:- alternative Just:- child just : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nothing:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type MaybeScalarExpr = Maybe ScalarExpr --- cata-sem_MaybeScalarExpr :: MaybeScalarExpr ->- T_MaybeScalarExpr -sem_MaybeScalarExpr (Prelude.Just x ) =- (sem_MaybeScalarExpr_Just (sem_ScalarExpr x ) )-sem_MaybeScalarExpr Prelude.Nothing =- sem_MaybeScalarExpr_Nothing--- semantic domain-type T_MaybeScalarExpr = Catalog ->- IDEnv ->- LocalBindings ->- ( MaybeScalarExpr ,MaybeScalarExpr ,MaybeScalarExpr ,(Maybe Type))-data Inh_MaybeScalarExpr = Inh_MaybeScalarExpr {cat_Inh_MaybeScalarExpr :: Catalog,idenv_Inh_MaybeScalarExpr :: IDEnv,lib_Inh_MaybeScalarExpr :: LocalBindings}-data Syn_MaybeScalarExpr = Syn_MaybeScalarExpr {annotatedTree_Syn_MaybeScalarExpr :: MaybeScalarExpr ,fixedUpIdentifiersTree_Syn_MaybeScalarExpr :: MaybeScalarExpr ,originalTree_Syn_MaybeScalarExpr :: MaybeScalarExpr ,uType_Syn_MaybeScalarExpr :: (Maybe Type)}-wrap_MaybeScalarExpr :: T_MaybeScalarExpr ->- Inh_MaybeScalarExpr ->- Syn_MaybeScalarExpr -wrap_MaybeScalarExpr sem (Inh_MaybeScalarExpr _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_MaybeScalarExpr _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOuType ))-sem_MaybeScalarExpr_Just :: T_ScalarExpr ->- T_MaybeScalarExpr -sem_MaybeScalarExpr_Just just_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOuType :: (Maybe Type)- _justOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: MaybeScalarExpr - _lhsOfixedUpIdentifiersTree :: MaybeScalarExpr - _lhsOoriginalTree :: MaybeScalarExpr - _justOcat :: Catalog- _justOidenv :: IDEnv- _justOlib :: LocalBindings- _justIannotatedTree :: ScalarExpr - _justIfixedUpIdentifiersTree :: ScalarExpr - _justIoriginalTree :: ScalarExpr - _justIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 124, column 12)- _lhsOuType =- _justIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 100, column 12)- _justOexpectedType =- Nothing- -- self rule- _annotatedTree =- Just _justIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Just _justIfixedUpIdentifiersTree- -- self rule- _originalTree =- Just _justIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _justOcat =- _lhsIcat- -- copy rule (down)- _justOidenv =- _lhsIidenv- -- copy rule (down)- _justOlib =- _lhsIlib- ( _justIannotatedTree,_justIfixedUpIdentifiersTree,_justIoriginalTree,_justIuType) =- just_ _justOcat _justOexpectedType _justOidenv _justOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_MaybeScalarExpr_Nothing :: T_MaybeScalarExpr -sem_MaybeScalarExpr_Nothing =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOuType :: (Maybe Type)- _lhsOannotatedTree :: MaybeScalarExpr - _lhsOfixedUpIdentifiersTree :: MaybeScalarExpr - _lhsOoriginalTree :: MaybeScalarExpr - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 125, column 15)- _lhsOuType =- Nothing- -- self rule- _annotatedTree =- Nothing- -- self rule- _fixedUpIdentifiersTree =- Nothing- -- self rule- _originalTree =- Nothing- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))--- MaybeSelectList ----------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - listType : [(String,Maybe Type)]- originalTree : SELF - alternatives:- alternative Just:- child just : SelectList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nothing:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type MaybeSelectList = Maybe SelectList --- cata-sem_MaybeSelectList :: MaybeSelectList ->- T_MaybeSelectList -sem_MaybeSelectList (Prelude.Just x ) =- (sem_MaybeSelectList_Just (sem_SelectList x ) )-sem_MaybeSelectList Prelude.Nothing =- sem_MaybeSelectList_Nothing--- semantic domain-type T_MaybeSelectList = Catalog ->- IDEnv ->- LocalBindings ->- ( MaybeSelectList ,MaybeSelectList ,([(String,Maybe Type)]),MaybeSelectList )-data Inh_MaybeSelectList = Inh_MaybeSelectList {cat_Inh_MaybeSelectList :: Catalog,idenv_Inh_MaybeSelectList :: IDEnv,lib_Inh_MaybeSelectList :: LocalBindings}-data Syn_MaybeSelectList = Syn_MaybeSelectList {annotatedTree_Syn_MaybeSelectList :: MaybeSelectList ,fixedUpIdentifiersTree_Syn_MaybeSelectList :: MaybeSelectList ,listType_Syn_MaybeSelectList :: ([(String,Maybe Type)]),originalTree_Syn_MaybeSelectList :: MaybeSelectList }-wrap_MaybeSelectList :: T_MaybeSelectList ->- Inh_MaybeSelectList ->- Syn_MaybeSelectList -wrap_MaybeSelectList sem (Inh_MaybeSelectList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_MaybeSelectList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOlistType _lhsOoriginalTree ))-sem_MaybeSelectList_Just :: T_SelectList ->- T_MaybeSelectList -sem_MaybeSelectList_Just just_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOlistType :: ([(String,Maybe Type)])- _lhsOannotatedTree :: MaybeSelectList - _lhsOfixedUpIdentifiersTree :: MaybeSelectList - _lhsOoriginalTree :: MaybeSelectList - _justOcat :: Catalog- _justOidenv :: IDEnv- _justOlib :: LocalBindings- _justIannotatedTree :: SelectList - _justIcidenv :: IDEnv- _justIfixedUpIdentifiersTree :: SelectList - _justIlibUpdates :: ([LocalBindingsUpdate])- _justIlistType :: ([(String,Maybe Type)])- _justIoriginalTree :: SelectList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 38, column 12)- _lhsOlistType =- _justIlistType- -- self rule- _annotatedTree =- Just _justIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Just _justIfixedUpIdentifiersTree- -- self rule- _originalTree =- Just _justIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _justOcat =- _lhsIcat- -- copy rule (down)- _justOidenv =- _lhsIidenv- -- copy rule (down)- _justOlib =- _lhsIlib- ( _justIannotatedTree,_justIcidenv,_justIfixedUpIdentifiersTree,_justIlibUpdates,_justIlistType,_justIoriginalTree) =- just_ _justOcat _justOidenv _justOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))-sem_MaybeSelectList_Nothing :: T_MaybeSelectList -sem_MaybeSelectList_Nothing =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOlistType :: ([(String,Maybe Type)])- _lhsOannotatedTree :: MaybeSelectList - _lhsOfixedUpIdentifiersTree :: MaybeSelectList - _lhsOoriginalTree :: MaybeSelectList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 39, column 15)- _lhsOlistType =- []- -- self rule- _annotatedTree =- Nothing- -- self rule- _fixedUpIdentifiersTree =- Nothing- -- self rule- _originalTree =- Nothing- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))--- OnExpr -------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Just:- child just : JoinExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nothing:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type OnExpr = Maybe JoinExpr --- cata-sem_OnExpr :: OnExpr ->- T_OnExpr -sem_OnExpr (Prelude.Just x ) =- (sem_OnExpr_Just (sem_JoinExpr x ) )-sem_OnExpr Prelude.Nothing =- sem_OnExpr_Nothing--- semantic domain-type T_OnExpr = Catalog ->- IDEnv ->- LocalBindings ->- ( OnExpr ,OnExpr ,OnExpr )-data Inh_OnExpr = Inh_OnExpr {cat_Inh_OnExpr :: Catalog,idenv_Inh_OnExpr :: IDEnv,lib_Inh_OnExpr :: LocalBindings}-data Syn_OnExpr = Syn_OnExpr {annotatedTree_Syn_OnExpr :: OnExpr ,fixedUpIdentifiersTree_Syn_OnExpr :: OnExpr ,originalTree_Syn_OnExpr :: OnExpr }-wrap_OnExpr :: T_OnExpr ->- Inh_OnExpr ->- Syn_OnExpr -wrap_OnExpr sem (Inh_OnExpr _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_OnExpr _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_OnExpr_Just :: T_JoinExpr ->- T_OnExpr -sem_OnExpr_Just just_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: OnExpr - _lhsOfixedUpIdentifiersTree :: OnExpr - _lhsOoriginalTree :: OnExpr - _justOcat :: Catalog- _justOidenv :: IDEnv- _justOlib :: LocalBindings- _justIannotatedTree :: JoinExpr - _justIfixedUpIdentifiersTree :: JoinExpr - _justIoriginalTree :: JoinExpr - -- self rule- _annotatedTree =- Just _justIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Just _justIfixedUpIdentifiersTree- -- self rule- _originalTree =- Just _justIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _justOcat =- _lhsIcat- -- copy rule (down)- _justOidenv =- _lhsIidenv- -- copy rule (down)- _justOlib =- _lhsIlib- ( _justIannotatedTree,_justIfixedUpIdentifiersTree,_justIoriginalTree) =- just_ _justOcat _justOidenv _justOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_OnExpr_Nothing :: T_OnExpr -sem_OnExpr_Nothing =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: OnExpr - _lhsOfixedUpIdentifiersTree :: OnExpr - _lhsOoriginalTree :: OnExpr - -- self rule- _annotatedTree =- Nothing- -- self rule- _fixedUpIdentifiersTree =- Nothing- -- self rule- _originalTree =- Nothing- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- ParamDef -----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- pos : Int- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - namedType : Maybe Type- originalTree : SELF - paramName : ParamName- alternatives:- alternative ParamDef:- child ann : {Annotation}- child name : {String}- child typ : TypeName - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative ParamDefTp:- child ann : {Annotation}- child typ : TypeName - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data ParamDef = ParamDef (Annotation) (String) (TypeName ) - | ParamDefTp (Annotation) (TypeName ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_ParamDef :: ParamDef ->- T_ParamDef -sem_ParamDef (ParamDef _ann _name _typ ) =- (sem_ParamDef_ParamDef _ann _name (sem_TypeName _typ ) )-sem_ParamDef (ParamDefTp _ann _typ ) =- (sem_ParamDef_ParamDefTp _ann (sem_TypeName _typ ) )--- semantic domain-type T_ParamDef = Catalog ->- IDEnv ->- LocalBindings ->- Int ->- ( ParamDef ,ParamDef ,(Maybe Type),ParamDef ,ParamName)-data Inh_ParamDef = Inh_ParamDef {cat_Inh_ParamDef :: Catalog,idenv_Inh_ParamDef :: IDEnv,lib_Inh_ParamDef :: LocalBindings,pos_Inh_ParamDef :: Int}-data Syn_ParamDef = Syn_ParamDef {annotatedTree_Syn_ParamDef :: ParamDef ,fixedUpIdentifiersTree_Syn_ParamDef :: ParamDef ,namedType_Syn_ParamDef :: (Maybe Type),originalTree_Syn_ParamDef :: ParamDef ,paramName_Syn_ParamDef :: ParamName}-wrap_ParamDef :: T_ParamDef ->- Inh_ParamDef ->- Syn_ParamDef -wrap_ParamDef sem (Inh_ParamDef _lhsIcat _lhsIidenv _lhsIlib _lhsIpos ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree,_lhsOparamName) = sem _lhsIcat _lhsIidenv _lhsIlib _lhsIpos - in (Syn_ParamDef _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOnamedType _lhsOoriginalTree _lhsOparamName ))-sem_ParamDef_ParamDef :: Annotation ->- String ->- T_TypeName ->- T_ParamDef -sem_ParamDef_ParamDef ann_ name_ typ_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib- _lhsIpos ->- (let _lhsOnamedType :: (Maybe Type)- _lhsOparamName :: ParamName- _lhsOannotatedTree :: ParamDef - _lhsOfixedUpIdentifiersTree :: ParamDef - _lhsOoriginalTree :: ParamDef - _typOcat :: Catalog- _typOidenv :: IDEnv- _typOlib :: LocalBindings- _typIannotatedTree :: TypeName - _typIfixedUpIdentifiersTree :: TypeName - _typInamedType :: (Maybe Type)- _typIoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 45, column 9)- _lhsOnamedType =- _typInamedType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 47, column 9)- _lhsOparamName =- NamedParam _lhsIpos name_- -- self rule- _annotatedTree =- ParamDef ann_ name_ _typIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- ParamDef ann_ name_ _typIfixedUpIdentifiersTree- -- self rule- _originalTree =- ParamDef ann_ name_ _typIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _typOcat =- _lhsIcat- -- copy rule (down)- _typOidenv =- _lhsIidenv- -- copy rule (down)- _typOlib =- _lhsIlib- ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOidenv _typOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree,_lhsOparamName)))-sem_ParamDef_ParamDefTp :: Annotation ->- T_TypeName ->- T_ParamDef -sem_ParamDef_ParamDefTp ann_ typ_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib- _lhsIpos ->- (let _lhsOnamedType :: (Maybe Type)- _lhsOparamName :: ParamName- _lhsOannotatedTree :: ParamDef - _lhsOfixedUpIdentifiersTree :: ParamDef - _lhsOoriginalTree :: ParamDef - _typOcat :: Catalog- _typOidenv :: IDEnv- _typOlib :: LocalBindings- _typIannotatedTree :: TypeName - _typIfixedUpIdentifiersTree :: TypeName - _typInamedType :: (Maybe Type)- _typIoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 45, column 9)- _lhsOnamedType =- _typInamedType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 49, column 9)- _lhsOparamName =- UnnamedParam _lhsIpos- -- self rule- _annotatedTree =- ParamDefTp ann_ _typIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- ParamDefTp ann_ _typIfixedUpIdentifiersTree- -- self rule- _originalTree =- ParamDefTp ann_ _typIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _typOcat =- _lhsIcat- -- copy rule (down)- _typOidenv =- _lhsIidenv- -- copy rule (down)- _typOlib =- _lhsIlib- ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOidenv _typOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree,_lhsOparamName)))--- ParamDefList -------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- pos : Int- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - params : [(ParamName, Maybe Type)]- alternatives:- alternative Cons:- child hd : ParamDef - child tl : ParamDefList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type ParamDefList = [ParamDef ]--- cata-sem_ParamDefList :: ParamDefList ->- T_ParamDefList -sem_ParamDefList list =- (Prelude.foldr sem_ParamDefList_Cons sem_ParamDefList_Nil (Prelude.map sem_ParamDef list) )--- semantic domain-type T_ParamDefList = Catalog ->- IDEnv ->- LocalBindings ->- Int ->- ( ParamDefList ,ParamDefList ,ParamDefList ,([(ParamName, Maybe Type)]))-data Inh_ParamDefList = Inh_ParamDefList {cat_Inh_ParamDefList :: Catalog,idenv_Inh_ParamDefList :: IDEnv,lib_Inh_ParamDefList :: LocalBindings,pos_Inh_ParamDefList :: Int}-data Syn_ParamDefList = Syn_ParamDefList {annotatedTree_Syn_ParamDefList :: ParamDefList ,fixedUpIdentifiersTree_Syn_ParamDefList :: ParamDefList ,originalTree_Syn_ParamDefList :: ParamDefList ,params_Syn_ParamDefList :: ([(ParamName, Maybe Type)])}-wrap_ParamDefList :: T_ParamDefList ->- Inh_ParamDefList ->- Syn_ParamDefList -wrap_ParamDefList sem (Inh_ParamDefList _lhsIcat _lhsIidenv _lhsIlib _lhsIpos ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOparams) = sem _lhsIcat _lhsIidenv _lhsIlib _lhsIpos - in (Syn_ParamDefList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOparams ))-sem_ParamDefList_Cons :: T_ParamDef ->- T_ParamDefList ->- T_ParamDefList -sem_ParamDefList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib- _lhsIpos ->- (let _lhsOparams :: ([(ParamName, Maybe Type)])- _hdOpos :: Int- _tlOpos :: Int- _lhsOannotatedTree :: ParamDefList - _lhsOfixedUpIdentifiersTree :: ParamDefList - _lhsOoriginalTree :: ParamDefList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: ParamDef - _hdIfixedUpIdentifiersTree :: ParamDef - _hdInamedType :: (Maybe Type)- _hdIoriginalTree :: ParamDef - _hdIparamName :: ParamName- _tlIannotatedTree :: ParamDefList - _tlIfixedUpIdentifiersTree :: ParamDefList - _tlIoriginalTree :: ParamDefList - _tlIparams :: ([(ParamName, Maybe Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 53, column 13)- _lhsOparams =- ((_hdIparamName, _hdInamedType) : _tlIparams)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 54, column 13)- _hdOpos =- _lhsIpos- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 55, column 13)- _tlOpos =- _lhsIpos + 1- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdInamedType,_hdIoriginalTree,_hdIparamName) =- hd_ _hdOcat _hdOidenv _hdOlib _hdOpos - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIparams) =- tl_ _tlOcat _tlOidenv _tlOlib _tlOpos - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOparams)))-sem_ParamDefList_Nil :: T_ParamDefList -sem_ParamDefList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib- _lhsIpos ->- (let _lhsOparams :: ([(ParamName, Maybe Type)])- _lhsOannotatedTree :: ParamDefList - _lhsOfixedUpIdentifiersTree :: ParamDefList - _lhsOoriginalTree :: ParamDefList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 52, column 12)- _lhsOparams =- []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOparams)))--- QueryExpr ----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- csql : LocalBindings- expectedTypes : [Maybe Type]- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - cidenv : IDEnv- fixedUpIdentifiersTree : SELF - libUpdates : [LocalBindingsUpdate]- originalTree : SELF - uType : Maybe [(String,Type)]- alternatives:- alternative CombineQueryExpr:- child ann : {Annotation}- child ctype : {CombineType}- child sel1 : QueryExpr - child sel2 : QueryExpr - visit 0:- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Select:- child ann : {Annotation}- child selDistinct : {Distinct}- child selSelectList : SelectList - child selTref : TableRefList - child selWhere : MaybeBoolExpr - child selGroupBy : ScalarExprList - child selHaving : MaybeBoolExpr - child selOrderBy : ScalarExprDirectionPairList - child selLimit : MaybeScalarExpr - child selOffset : MaybeScalarExpr - visit 0:- local trefEnv : _- local includeCorrelations : _- local newLib : _- local slTypes : {LocalBindings}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Values:- child ann : {Annotation}- child vll : ScalarExprListList - visit 0:- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative WithQueryExpr:- child ann : {Annotation}- child withs : WithQueryList - child ex : QueryExpr - visit 0:- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data QueryExpr = CombineQueryExpr (Annotation) (CombineType) (QueryExpr ) (QueryExpr ) - | Select (Annotation) (Distinct) (SelectList ) (TableRefList ) (MaybeBoolExpr ) (ScalarExprList ) (MaybeBoolExpr ) (ScalarExprDirectionPairList ) (MaybeScalarExpr ) (MaybeScalarExpr ) - | Values (Annotation) (ScalarExprListList ) - | WithQueryExpr (Annotation) (WithQueryList ) (QueryExpr ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_QueryExpr :: QueryExpr ->- T_QueryExpr -sem_QueryExpr (CombineQueryExpr _ann _ctype _sel1 _sel2 ) =- (sem_QueryExpr_CombineQueryExpr _ann _ctype (sem_QueryExpr _sel1 ) (sem_QueryExpr _sel2 ) )-sem_QueryExpr (Select _ann _selDistinct _selSelectList _selTref _selWhere _selGroupBy _selHaving _selOrderBy _selLimit _selOffset ) =- (sem_QueryExpr_Select _ann _selDistinct (sem_SelectList _selSelectList ) (sem_TableRefList _selTref ) (sem_MaybeBoolExpr _selWhere ) (sem_ScalarExprList _selGroupBy ) (sem_MaybeBoolExpr _selHaving ) (sem_ScalarExprDirectionPairList _selOrderBy ) (sem_MaybeScalarExpr _selLimit ) (sem_MaybeScalarExpr _selOffset ) )-sem_QueryExpr (Values _ann _vll ) =- (sem_QueryExpr_Values _ann (sem_ScalarExprListList _vll ) )-sem_QueryExpr (WithQueryExpr _ann _withs _ex ) =- (sem_QueryExpr_WithQueryExpr _ann (sem_WithQueryList _withs ) (sem_QueryExpr _ex ) )--- semantic domain-type T_QueryExpr = Catalog ->- LocalBindings ->- ([Maybe Type]) ->- IDEnv ->- LocalBindings ->- ( QueryExpr ,IDEnv,QueryExpr ,([LocalBindingsUpdate]),QueryExpr ,(Maybe [(String,Type)]))-data Inh_QueryExpr = Inh_QueryExpr {cat_Inh_QueryExpr :: Catalog,csql_Inh_QueryExpr :: LocalBindings,expectedTypes_Inh_QueryExpr :: ([Maybe Type]),idenv_Inh_QueryExpr :: IDEnv,lib_Inh_QueryExpr :: LocalBindings}-data Syn_QueryExpr = Syn_QueryExpr {annotatedTree_Syn_QueryExpr :: QueryExpr ,cidenv_Syn_QueryExpr :: IDEnv,fixedUpIdentifiersTree_Syn_QueryExpr :: QueryExpr ,libUpdates_Syn_QueryExpr :: ([LocalBindingsUpdate]),originalTree_Syn_QueryExpr :: QueryExpr ,uType_Syn_QueryExpr :: (Maybe [(String,Type)])}-wrap_QueryExpr :: T_QueryExpr ->- Inh_QueryExpr ->- Syn_QueryExpr -wrap_QueryExpr sem (Inh_QueryExpr _lhsIcat _lhsIcsql _lhsIexpectedTypes _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree,_lhsOuType) = sem _lhsIcat _lhsIcsql _lhsIexpectedTypes _lhsIidenv _lhsIlib - in (Syn_QueryExpr _lhsOannotatedTree _lhsOcidenv _lhsOfixedUpIdentifiersTree _lhsOlibUpdates _lhsOoriginalTree _lhsOuType ))-sem_QueryExpr_CombineQueryExpr :: Annotation ->- CombineType ->- T_QueryExpr ->- T_QueryExpr ->- T_QueryExpr -sem_QueryExpr_CombineQueryExpr ann_ ctype_ sel1_ sel2_ =- (\ _lhsIcat- _lhsIcsql- _lhsIexpectedTypes- _lhsIidenv- _lhsIlib ->- (let _lhsOcidenv :: IDEnv- _lhsOannotatedTree :: QueryExpr - _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: Et- _lhsOuType :: (Maybe [(String,Type)])- _lhsOfixedUpIdentifiersTree :: QueryExpr - _lhsOoriginalTree :: QueryExpr - _sel1Ocat :: Catalog- _sel1Ocsql :: LocalBindings- _sel1OexpectedTypes :: ([Maybe Type])- _sel1Oidenv :: IDEnv- _sel1Olib :: LocalBindings- _sel2Ocat :: Catalog- _sel2Ocsql :: LocalBindings- _sel2OexpectedTypes :: ([Maybe Type])- _sel2Oidenv :: IDEnv- _sel2Olib :: LocalBindings- _sel1IannotatedTree :: QueryExpr - _sel1Icidenv :: IDEnv- _sel1IfixedUpIdentifiersTree :: QueryExpr - _sel1IlibUpdates :: ([LocalBindingsUpdate])- _sel1IoriginalTree :: QueryExpr - _sel1IuType :: (Maybe [(String,Type)])- _sel2IannotatedTree :: QueryExpr - _sel2Icidenv :: IDEnv- _sel2IfixedUpIdentifiersTree :: QueryExpr - _sel2IlibUpdates :: ([LocalBindingsUpdate])- _sel2IoriginalTree :: QueryExpr - _sel2IuType :: (Maybe [(String,Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 230, column 24)- _lhsOcidenv =- _sel1Icidenv- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 29, column 9)- _lhsOannotatedTree =- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 141, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 168, column 9)- _tpe =- do- sel1t <- lmt ((SetOfType . CompositeType) <$> _sel1IuType)- sel2t <- lmt ((SetOfType . CompositeType) <$> _sel2IuType)- typeCheckCombineSelect _lhsIcat sel1t sel2t- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 174, column 9)- _backTree =- CombineQueryExpr ann_ ctype_- _sel1IannotatedTree- _sel2IannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 185, column 9)- _lhsOuType =- etmt (_tpe >>= unwrapSetOfComposite)- -- self rule- _annotatedTree =- CombineQueryExpr ann_ ctype_ _sel1IannotatedTree _sel2IannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CombineQueryExpr ann_ ctype_ _sel1IfixedUpIdentifiersTree _sel2IfixedUpIdentifiersTree- -- self rule- _originalTree =- CombineQueryExpr ann_ ctype_ _sel1IoriginalTree _sel2IoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _sel1Ocat =- _lhsIcat- -- copy rule (down)- _sel1Ocsql =- _lhsIcsql- -- copy rule (down)- _sel1OexpectedTypes =- _lhsIexpectedTypes- -- copy rule (down)- _sel1Oidenv =- _lhsIidenv- -- copy rule (down)- _sel1Olib =- _lhsIlib- -- copy rule (down)- _sel2Ocat =- _lhsIcat- -- copy rule (down)- _sel2Ocsql =- _lhsIcsql- -- copy rule (down)- _sel2OexpectedTypes =- _lhsIexpectedTypes- -- copy rule (down)- _sel2Oidenv =- _lhsIidenv- -- copy rule (down)- _sel2Olib =- _lhsIlib- ( _sel1IannotatedTree,_sel1Icidenv,_sel1IfixedUpIdentifiersTree,_sel1IlibUpdates,_sel1IoriginalTree,_sel1IuType) =- sel1_ _sel1Ocat _sel1Ocsql _sel1OexpectedTypes _sel1Oidenv _sel1Olib - ( _sel2IannotatedTree,_sel2Icidenv,_sel2IfixedUpIdentifiersTree,_sel2IlibUpdates,_sel2IoriginalTree,_sel2IuType) =- sel2_ _sel2Ocat _sel2Ocsql _sel2OexpectedTypes _sel2Oidenv _sel2Olib - in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree,_lhsOuType)))-sem_QueryExpr_Select :: Annotation ->- Distinct ->- T_SelectList ->- T_TableRefList ->- T_MaybeBoolExpr ->- T_ScalarExprList ->- T_MaybeBoolExpr ->- T_ScalarExprDirectionPairList ->- T_MaybeScalarExpr ->- T_MaybeScalarExpr ->- T_QueryExpr -sem_QueryExpr_Select ann_ selDistinct_ selSelectList_ selTref_ selWhere_ selGroupBy_ selHaving_ selOrderBy_ selLimit_ selOffset_ =- (\ _lhsIcat- _lhsIcsql- _lhsIexpectedTypes- _lhsIidenv- _lhsIlib ->- (let _lhsOfixedUpIdentifiersTree :: QueryExpr - _lhsOcidenv :: IDEnv- _selSelectListOidenv :: IDEnv- _selWhereOidenv :: IDEnv- _selGroupByOidenv :: IDEnv- _selHavingOidenv :: IDEnv- _selOrderByOidenv :: IDEnv- _lhsOannotatedTree :: QueryExpr - _selSelectListOlib :: LocalBindings- _selWhereOlib :: LocalBindings- _selHavingOlib :: LocalBindings- _selGroupByOlib :: LocalBindings- _slTypes :: LocalBindings- _selOrderByOlib :: LocalBindings- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: Et- _lhsOuType :: (Maybe [(String,Type)])- _selGroupByOexpectedTypes :: ([Maybe Type])- _lhsOoriginalTree :: QueryExpr - _selSelectListOcat :: Catalog- _selTrefOcat :: Catalog- _selTrefOidenv :: IDEnv- _selTrefOlib :: LocalBindings- _selWhereOcat :: Catalog- _selGroupByOcat :: Catalog- _selHavingOcat :: Catalog- _selOrderByOcat :: Catalog- _selLimitOcat :: Catalog- _selLimitOidenv :: IDEnv- _selLimitOlib :: LocalBindings- _selOffsetOcat :: Catalog- _selOffsetOidenv :: IDEnv- _selOffsetOlib :: LocalBindings- _selSelectListIannotatedTree :: SelectList - _selSelectListIcidenv :: IDEnv- _selSelectListIfixedUpIdentifiersTree :: SelectList - _selSelectListIlibUpdates :: ([LocalBindingsUpdate])- _selSelectListIlistType :: ([(String,Maybe Type)])- _selSelectListIoriginalTree :: SelectList - _selTrefIannotatedTree :: TableRefList - _selTrefIfixedUpIdentifiersTree :: TableRefList - _selTrefIlibUpdates :: ([LocalBindingsUpdate])- _selTrefInewLib2 :: LocalBindings- _selTrefIoriginalTree :: TableRefList - _selTrefItrefIDs :: ([(String,[String])])- _selWhereIannotatedTree :: MaybeBoolExpr - _selWhereIfixedUpIdentifiersTree :: MaybeBoolExpr - _selWhereIoriginalTree :: MaybeBoolExpr - _selGroupByIannotatedTree :: ScalarExprList - _selGroupByIfixedUpIdentifiersTree :: ScalarExprList - _selGroupByIoriginalTree :: ScalarExprList - _selGroupByIuType :: ([Maybe Type])- _selHavingIannotatedTree :: MaybeBoolExpr - _selHavingIfixedUpIdentifiersTree :: MaybeBoolExpr - _selHavingIoriginalTree :: MaybeBoolExpr - _selOrderByIannotatedTree :: ScalarExprDirectionPairList - _selOrderByIfixedUpIdentifiersTree :: ScalarExprDirectionPairList - _selOrderByIoriginalTree :: ScalarExprDirectionPairList - _selLimitIannotatedTree :: MaybeScalarExpr - _selLimitIfixedUpIdentifiersTree :: MaybeScalarExpr - _selLimitIoriginalTree :: MaybeScalarExpr - _selLimitIuType :: (Maybe Type)- _selOffsetIannotatedTree :: MaybeScalarExpr - _selOffsetIfixedUpIdentifiersTree :: MaybeScalarExpr - _selOffsetIoriginalTree :: MaybeScalarExpr - _selOffsetIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 187, column 9)- _lhsOfixedUpIdentifiersTree =- Select ann_- selDistinct_- _selSelectListIfixedUpIdentifiersTree- _selTrefIfixedUpIdentifiersTree- _selWhereIfixedUpIdentifiersTree- _selGroupByIfixedUpIdentifiersTree- _selHavingIfixedUpIdentifiersTree- _selOrderByIfixedUpIdentifiersTree- _selLimitIfixedUpIdentifiersTree- _selOffsetIfixedUpIdentifiersTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 229, column 14)- _lhsOcidenv =- _selSelectListIcidenv- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 270, column 14)- _trefEnv =- makeIDEnvP _selTrefItrefIDs- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 271, column 14)- _includeCorrelations =- joinIDEnvs _lhsIidenv _trefEnv- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 272, column 14)- _selSelectListOidenv =- _trefEnv- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 273, column 14)- _selWhereOidenv =- _includeCorrelations- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 274, column 14)- _selGroupByOidenv =- _trefEnv- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 275, column 14)- _selHavingOidenv =- _includeCorrelations- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 276, column 14)- _selOrderByOidenv =- _trefEnv- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 29, column 9)- _lhsOannotatedTree =- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 101, column 10)- _newLib =- _selTrefInewLib2- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 102, column 10)- _selSelectListOlib =- _newLib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 104, column 10)- _selWhereOlib =- joinBindings _newLib _lhsIcsql- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 105, column 10)- _selHavingOlib =- joinBindings _newLib _lhsIcsql- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 106, column 10)- _selGroupByOlib =- _newLib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 111, column 10)- _slTypes =- createLocalBindings $ Just [("",_selSelectListIlistType)]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 112, column 10)- _selOrderByOlib =- joinBindings _slTypes _newLib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 143, column 9)- _lhsOlibUpdates =- _selSelectListIlibUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 155, column 9)- _tpe =- Right $ SetOfType $ CompositeType $ fromMaybe [] $ liftList _selSelectListIlistType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 157, column 9)- _backTree =- Select ann_- selDistinct_- _selSelectListIannotatedTree- _selTrefIannotatedTree- _selWhereIannotatedTree- _selGroupByIannotatedTree- _selHavingIannotatedTree- _selOrderByIannotatedTree- _selLimitIannotatedTree- _selOffsetIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 185, column 9)- _lhsOuType =- etmt (_tpe >>= unwrapSetOfComposite)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 150, column 14)- _selGroupByOexpectedTypes =- []- -- self rule- _annotatedTree =- Select ann_ selDistinct_ _selSelectListIannotatedTree _selTrefIannotatedTree _selWhereIannotatedTree _selGroupByIannotatedTree _selHavingIannotatedTree _selOrderByIannotatedTree _selLimitIannotatedTree _selOffsetIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Select ann_ selDistinct_ _selSelectListIfixedUpIdentifiersTree _selTrefIfixedUpIdentifiersTree _selWhereIfixedUpIdentifiersTree _selGroupByIfixedUpIdentifiersTree _selHavingIfixedUpIdentifiersTree _selOrderByIfixedUpIdentifiersTree _selLimitIfixedUpIdentifiersTree _selOffsetIfixedUpIdentifiersTree- -- self rule- _originalTree =- Select ann_ selDistinct_ _selSelectListIoriginalTree _selTrefIoriginalTree _selWhereIoriginalTree _selGroupByIoriginalTree _selHavingIoriginalTree _selOrderByIoriginalTree _selLimitIoriginalTree _selOffsetIoriginalTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _selSelectListOcat =- _lhsIcat- -- copy rule (down)- _selTrefOcat =- _lhsIcat- -- copy rule (down)- _selTrefOidenv =- _lhsIidenv- -- copy rule (down)- _selTrefOlib =- _lhsIlib- -- copy rule (down)- _selWhereOcat =- _lhsIcat- -- copy rule (down)- _selGroupByOcat =- _lhsIcat- -- copy rule (down)- _selHavingOcat =- _lhsIcat- -- copy rule (down)- _selOrderByOcat =- _lhsIcat- -- copy rule (down)- _selLimitOcat =- _lhsIcat- -- copy rule (down)- _selLimitOidenv =- _lhsIidenv- -- copy rule (down)- _selLimitOlib =- _lhsIlib- -- copy rule (down)- _selOffsetOcat =- _lhsIcat- -- copy rule (down)- _selOffsetOidenv =- _lhsIidenv- -- copy rule (down)- _selOffsetOlib =- _lhsIlib- ( _selSelectListIannotatedTree,_selSelectListIcidenv,_selSelectListIfixedUpIdentifiersTree,_selSelectListIlibUpdates,_selSelectListIlistType,_selSelectListIoriginalTree) =- selSelectList_ _selSelectListOcat _selSelectListOidenv _selSelectListOlib - ( _selTrefIannotatedTree,_selTrefIfixedUpIdentifiersTree,_selTrefIlibUpdates,_selTrefInewLib2,_selTrefIoriginalTree,_selTrefItrefIDs) =- selTref_ _selTrefOcat _selTrefOidenv _selTrefOlib - ( _selWhereIannotatedTree,_selWhereIfixedUpIdentifiersTree,_selWhereIoriginalTree) =- selWhere_ _selWhereOcat _selWhereOidenv _selWhereOlib - ( _selGroupByIannotatedTree,_selGroupByIfixedUpIdentifiersTree,_selGroupByIoriginalTree,_selGroupByIuType) =- selGroupBy_ _selGroupByOcat _selGroupByOexpectedTypes _selGroupByOidenv _selGroupByOlib - ( _selHavingIannotatedTree,_selHavingIfixedUpIdentifiersTree,_selHavingIoriginalTree) =- selHaving_ _selHavingOcat _selHavingOidenv _selHavingOlib - ( _selOrderByIannotatedTree,_selOrderByIfixedUpIdentifiersTree,_selOrderByIoriginalTree) =- selOrderBy_ _selOrderByOcat _selOrderByOidenv _selOrderByOlib - ( _selLimitIannotatedTree,_selLimitIfixedUpIdentifiersTree,_selLimitIoriginalTree,_selLimitIuType) =- selLimit_ _selLimitOcat _selLimitOidenv _selLimitOlib - ( _selOffsetIannotatedTree,_selOffsetIfixedUpIdentifiersTree,_selOffsetIoriginalTree,_selOffsetIuType) =- selOffset_ _selOffsetOcat _selOffsetOidenv _selOffsetOlib - in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree,_lhsOuType)))-sem_QueryExpr_Values :: Annotation ->- T_ScalarExprListList ->- T_QueryExpr -sem_QueryExpr_Values ann_ vll_ =- (\ _lhsIcat- _lhsIcsql- _lhsIexpectedTypes- _lhsIidenv- _lhsIlib ->- (let _lhsOcidenv :: IDEnv- _lhsOannotatedTree :: QueryExpr - _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: Et- _lhsOuType :: (Maybe [(String,Type)])- _vllOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: QueryExpr - _lhsOoriginalTree :: QueryExpr - _vllOcat :: Catalog- _vllOidenv :: IDEnv- _vllOlib :: LocalBindings- _vllIannotatedTree :: ScalarExprListList - _vllIfixedUpIdentifiersTree :: ScalarExprListList - _vllIoriginalTree :: ScalarExprListList - _vllIuType :: ([[Maybe Type]])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 231, column 14)- _lhsOcidenv =- unimplementedIDEnv- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 29, column 9)- _lhsOannotatedTree =- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 141, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 150, column 9)- _tpe =- typeCheckValuesExpr- _lhsIcat- _vllIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 153, column 9)- _backTree =- Values ann_ _vllIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 185, column 9)- _lhsOuType =- etmt (_tpe >>= unwrapSetOfComposite)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 164, column 14)- _vllOexpectedTypes =- _lhsIexpectedTypes- -- self rule- _annotatedTree =- Values ann_ _vllIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Values ann_ _vllIfixedUpIdentifiersTree- -- self rule- _originalTree =- Values ann_ _vllIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _vllOcat =- _lhsIcat- -- copy rule (down)- _vllOidenv =- _lhsIidenv- -- copy rule (down)- _vllOlib =- _lhsIlib- ( _vllIannotatedTree,_vllIfixedUpIdentifiersTree,_vllIoriginalTree,_vllIuType) =- vll_ _vllOcat _vllOexpectedTypes _vllOidenv _vllOlib - in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree,_lhsOuType)))-sem_QueryExpr_WithQueryExpr :: Annotation ->- T_WithQueryList ->- T_QueryExpr ->- T_QueryExpr -sem_QueryExpr_WithQueryExpr ann_ withs_ ex_ =- (\ _lhsIcat- _lhsIcsql- _lhsIexpectedTypes- _lhsIidenv- _lhsIlib ->- (let _lhsOcidenv :: IDEnv- _lhsOannotatedTree :: QueryExpr - _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: Et- _exOcat :: Catalog- _withsOcatUpdates :: ([CatalogUpdate])- _lhsOuType :: (Maybe [(String,Type)])- _lhsOfixedUpIdentifiersTree :: QueryExpr - _lhsOoriginalTree :: QueryExpr - _withsOcat :: Catalog- _withsOidenv :: IDEnv- _withsOlib :: LocalBindings- _exOcsql :: LocalBindings- _exOexpectedTypes :: ([Maybe Type])- _exOidenv :: IDEnv- _exOlib :: LocalBindings- _withsIannotatedTree :: WithQueryList - _withsIfixedUpIdentifiersTree :: WithQueryList - _withsIoriginalTree :: WithQueryList - _withsIproducedCat :: Catalog- _exIannotatedTree :: QueryExpr - _exIcidenv :: IDEnv- _exIfixedUpIdentifiersTree :: QueryExpr - _exIlibUpdates :: ([LocalBindingsUpdate])- _exIoriginalTree :: QueryExpr - _exIuType :: (Maybe [(String,Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 232, column 21)- _lhsOcidenv =- _exIcidenv- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 29, column 9)- _lhsOannotatedTree =- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 145, column 9)- _lhsOlibUpdates =- _exIlibUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 178, column 9)- _tpe =- lmt ((SetOfType . CompositeType) <$> _exIuType)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 179, column 9)- _backTree =- WithQueryExpr ann_ _withsIannotatedTree _exIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 180, column 9)- _exOcat =- _withsIproducedCat- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 181, column 9)- _withsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 185, column 9)- _lhsOuType =- etmt (_tpe >>= unwrapSetOfComposite)- -- self rule- _annotatedTree =- WithQueryExpr ann_ _withsIannotatedTree _exIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- WithQueryExpr ann_ _withsIfixedUpIdentifiersTree _exIfixedUpIdentifiersTree- -- self rule- _originalTree =- WithQueryExpr ann_ _withsIoriginalTree _exIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _withsOcat =- _lhsIcat- -- copy rule (down)- _withsOidenv =- _lhsIidenv- -- copy rule (down)- _withsOlib =- _lhsIlib- -- copy rule (down)- _exOcsql =- _lhsIcsql- -- copy rule (down)- _exOexpectedTypes =- _lhsIexpectedTypes- -- copy rule (down)- _exOidenv =- _lhsIidenv- -- copy rule (down)- _exOlib =- _lhsIlib- ( _withsIannotatedTree,_withsIfixedUpIdentifiersTree,_withsIoriginalTree,_withsIproducedCat) =- withs_ _withsOcat _withsOcatUpdates _withsOidenv _withsOlib - ( _exIannotatedTree,_exIcidenv,_exIfixedUpIdentifiersTree,_exIlibUpdates,_exIoriginalTree,_exIuType) =- ex_ _exOcat _exOcsql _exOexpectedTypes _exOidenv _exOlib - in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree,_lhsOuType)))--- Root ---------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - producedCat : Catalog- producedLib : LocalBindings- alternatives:- alternative Root:- child statements : StatementList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data Root = Root (StatementList ) - deriving ( Show)--- cata-sem_Root :: Root ->- T_Root -sem_Root (Root _statements ) =- (sem_Root_Root (sem_StatementList _statements ) )--- semantic domain-type T_Root = Catalog ->- IDEnv ->- LocalBindings ->- ( Root ,Root ,Root ,Catalog,LocalBindings)-data Inh_Root = Inh_Root {cat_Inh_Root :: Catalog,idenv_Inh_Root :: IDEnv,lib_Inh_Root :: LocalBindings}-data Syn_Root = Syn_Root {annotatedTree_Syn_Root :: Root ,fixedUpIdentifiersTree_Syn_Root :: Root ,originalTree_Syn_Root :: Root ,producedCat_Syn_Root :: Catalog,producedLib_Syn_Root :: LocalBindings}-wrap_Root :: T_Root ->- Inh_Root ->- Syn_Root -wrap_Root sem (Inh_Root _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat,_lhsOproducedLib) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_Root _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOproducedCat _lhsOproducedLib ))-sem_Root_Root :: T_StatementList ->- T_Root -sem_Root_Root statements_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _statementsOcatUpdates :: ([CatalogUpdate])- _statementsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Root - _lhsOfixedUpIdentifiersTree :: Root - _lhsOoriginalTree :: Root - _lhsOproducedCat :: Catalog- _lhsOproducedLib :: LocalBindings- _statementsOcat :: Catalog- _statementsOidenv :: IDEnv- _statementsOlib :: LocalBindings- _statementsIannotatedTree :: StatementList - _statementsIfixedUpIdentifiersTree :: StatementList - _statementsIoriginalTree :: StatementList - _statementsIproducedCat :: Catalog- _statementsIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 107, column 12)- _statementsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 108, column 12)- _statementsOlibUpdates =- []- -- self rule- _annotatedTree =- Root _statementsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Root _statementsIfixedUpIdentifiersTree- -- self rule- _originalTree =- Root _statementsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (up)- _lhsOproducedCat =- _statementsIproducedCat- -- copy rule (up)- _lhsOproducedLib =- _statementsIproducedLib- -- copy rule (down)- _statementsOcat =- _lhsIcat- -- copy rule (down)- _statementsOidenv =- _lhsIidenv- -- copy rule (down)- _statementsOlib =- _lhsIlib- ( _statementsIannotatedTree,_statementsIfixedUpIdentifiersTree,_statementsIoriginalTree,_statementsIproducedCat,_statementsIproducedLib) =- statements_ _statementsOcat _statementsOcatUpdates _statementsOidenv _statementsOlib _statementsOlibUpdates - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat,_lhsOproducedLib)))--- RowConstraint ------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative NotNullConstraint:- child ann : {Annotation}- child name : {String}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative NullConstraint:- child ann : {Annotation}- child name : {String}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative RowCheckConstraint:- child ann : {Annotation}- child name : {String}- child expr : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative RowPrimaryKeyConstraint:- child ann : {Annotation}- child name : {String}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative RowReferenceConstraint:- child ann : {Annotation}- child name : {String}- child table : {String}- child att : {Maybe String}- child onUpdate : {Cascade}- child onDelete : {Cascade}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative RowUniqueConstraint:- child ann : {Annotation}- child name : {String}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data RowConstraint = NotNullConstraint (Annotation) (String) - | NullConstraint (Annotation) (String) - | RowCheckConstraint (Annotation) (String) (ScalarExpr ) - | RowPrimaryKeyConstraint (Annotation) (String) - | RowReferenceConstraint (Annotation) (String) (String) ((Maybe String)) (Cascade) (Cascade) - | RowUniqueConstraint (Annotation) (String) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_RowConstraint :: RowConstraint ->- T_RowConstraint -sem_RowConstraint (NotNullConstraint _ann _name ) =- (sem_RowConstraint_NotNullConstraint _ann _name )-sem_RowConstraint (NullConstraint _ann _name ) =- (sem_RowConstraint_NullConstraint _ann _name )-sem_RowConstraint (RowCheckConstraint _ann _name _expr ) =- (sem_RowConstraint_RowCheckConstraint _ann _name (sem_ScalarExpr _expr ) )-sem_RowConstraint (RowPrimaryKeyConstraint _ann _name ) =- (sem_RowConstraint_RowPrimaryKeyConstraint _ann _name )-sem_RowConstraint (RowReferenceConstraint _ann _name _table _att _onUpdate _onDelete ) =- (sem_RowConstraint_RowReferenceConstraint _ann _name _table _att _onUpdate _onDelete )-sem_RowConstraint (RowUniqueConstraint _ann _name ) =- (sem_RowConstraint_RowUniqueConstraint _ann _name )--- semantic domain-type T_RowConstraint = Catalog ->- IDEnv ->- LocalBindings ->- ( RowConstraint ,RowConstraint ,RowConstraint )-data Inh_RowConstraint = Inh_RowConstraint {cat_Inh_RowConstraint :: Catalog,idenv_Inh_RowConstraint :: IDEnv,lib_Inh_RowConstraint :: LocalBindings}-data Syn_RowConstraint = Syn_RowConstraint {annotatedTree_Syn_RowConstraint :: RowConstraint ,fixedUpIdentifiersTree_Syn_RowConstraint :: RowConstraint ,originalTree_Syn_RowConstraint :: RowConstraint }-wrap_RowConstraint :: T_RowConstraint ->- Inh_RowConstraint ->- Syn_RowConstraint -wrap_RowConstraint sem (Inh_RowConstraint _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_RowConstraint _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_RowConstraint_NotNullConstraint :: Annotation ->- String ->- T_RowConstraint -sem_RowConstraint_NotNullConstraint ann_ name_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: RowConstraint - _lhsOfixedUpIdentifiersTree :: RowConstraint - _lhsOoriginalTree :: RowConstraint - -- self rule- _annotatedTree =- NotNullConstraint ann_ name_- -- self rule- _fixedUpIdentifiersTree =- NotNullConstraint ann_ name_- -- self rule- _originalTree =- NotNullConstraint ann_ name_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_RowConstraint_NullConstraint :: Annotation ->- String ->- T_RowConstraint -sem_RowConstraint_NullConstraint ann_ name_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: RowConstraint - _lhsOfixedUpIdentifiersTree :: RowConstraint - _lhsOoriginalTree :: RowConstraint - -- self rule- _annotatedTree =- NullConstraint ann_ name_- -- self rule- _fixedUpIdentifiersTree =- NullConstraint ann_ name_- -- self rule- _originalTree =- NullConstraint ann_ name_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_RowConstraint_RowCheckConstraint :: Annotation ->- String ->- T_ScalarExpr ->- T_RowConstraint -sem_RowConstraint_RowCheckConstraint ann_ name_ expr_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _exprOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: RowConstraint - _lhsOfixedUpIdentifiersTree :: RowConstraint - _lhsOoriginalTree :: RowConstraint - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _exprIannotatedTree :: ScalarExpr - _exprIfixedUpIdentifiersTree :: ScalarExpr - _exprIoriginalTree :: ScalarExpr - _exprIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 103, column 26)- _exprOexpectedType =- Nothing- -- self rule- _annotatedTree =- RowCheckConstraint ann_ name_ _exprIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- RowCheckConstraint ann_ name_ _exprIfixedUpIdentifiersTree- -- self rule- _originalTree =- RowCheckConstraint ann_ name_ _exprIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_RowConstraint_RowPrimaryKeyConstraint :: Annotation ->- String ->- T_RowConstraint -sem_RowConstraint_RowPrimaryKeyConstraint ann_ name_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: RowConstraint - _lhsOfixedUpIdentifiersTree :: RowConstraint - _lhsOoriginalTree :: RowConstraint - -- self rule- _annotatedTree =- RowPrimaryKeyConstraint ann_ name_- -- self rule- _fixedUpIdentifiersTree =- RowPrimaryKeyConstraint ann_ name_- -- self rule- _originalTree =- RowPrimaryKeyConstraint ann_ name_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_RowConstraint_RowReferenceConstraint :: Annotation ->- String ->- String ->- (Maybe String) ->- Cascade ->- Cascade ->- T_RowConstraint -sem_RowConstraint_RowReferenceConstraint ann_ name_ table_ att_ onUpdate_ onDelete_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: RowConstraint - _lhsOfixedUpIdentifiersTree :: RowConstraint - _lhsOoriginalTree :: RowConstraint - -- self rule- _annotatedTree =- RowReferenceConstraint ann_ name_ table_ att_ onUpdate_ onDelete_- -- self rule- _fixedUpIdentifiersTree =- RowReferenceConstraint ann_ name_ table_ att_ onUpdate_ onDelete_- -- self rule- _originalTree =- RowReferenceConstraint ann_ name_ table_ att_ onUpdate_ onDelete_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_RowConstraint_RowUniqueConstraint :: Annotation ->- String ->- T_RowConstraint -sem_RowConstraint_RowUniqueConstraint ann_ name_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: RowConstraint - _lhsOfixedUpIdentifiersTree :: RowConstraint - _lhsOoriginalTree :: RowConstraint - -- self rule- _annotatedTree =- RowUniqueConstraint ann_ name_- -- self rule- _fixedUpIdentifiersTree =- RowUniqueConstraint ann_ name_- -- self rule- _originalTree =- RowUniqueConstraint ann_ name_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- RowConstraintList --------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Cons:- child hd : RowConstraint - child tl : RowConstraintList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type RowConstraintList = [RowConstraint ]--- cata-sem_RowConstraintList :: RowConstraintList ->- T_RowConstraintList -sem_RowConstraintList list =- (Prelude.foldr sem_RowConstraintList_Cons sem_RowConstraintList_Nil (Prelude.map sem_RowConstraint list) )--- semantic domain-type T_RowConstraintList = Catalog ->- IDEnv ->- LocalBindings ->- ( RowConstraintList ,RowConstraintList ,RowConstraintList )-data Inh_RowConstraintList = Inh_RowConstraintList {cat_Inh_RowConstraintList :: Catalog,idenv_Inh_RowConstraintList :: IDEnv,lib_Inh_RowConstraintList :: LocalBindings}-data Syn_RowConstraintList = Syn_RowConstraintList {annotatedTree_Syn_RowConstraintList :: RowConstraintList ,fixedUpIdentifiersTree_Syn_RowConstraintList :: RowConstraintList ,originalTree_Syn_RowConstraintList :: RowConstraintList }-wrap_RowConstraintList :: T_RowConstraintList ->- Inh_RowConstraintList ->- Syn_RowConstraintList -wrap_RowConstraintList sem (Inh_RowConstraintList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_RowConstraintList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_RowConstraintList_Cons :: T_RowConstraint ->- T_RowConstraintList ->- T_RowConstraintList -sem_RowConstraintList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: RowConstraintList - _lhsOfixedUpIdentifiersTree :: RowConstraintList - _lhsOoriginalTree :: RowConstraintList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: RowConstraint - _hdIfixedUpIdentifiersTree :: RowConstraint - _hdIoriginalTree :: RowConstraint - _tlIannotatedTree :: RowConstraintList - _tlIfixedUpIdentifiersTree :: RowConstraintList - _tlIoriginalTree :: RowConstraintList - -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_RowConstraintList_Nil :: T_RowConstraintList -sem_RowConstraintList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: RowConstraintList - _lhsOfixedUpIdentifiersTree :: RowConstraintList - _lhsOoriginalTree :: RowConstraintList - -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- SQIdentifier -------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - tbAnnotatedTree : SQIdentifier - tbUType : Maybe ([(String,Type)],[(String,Type)])- alternatives:- alternative SQIdentifier:- child ann : {Annotation}- child is : {[String]}- visit 0:- local tpe : {E ([(String,Type)],[(String,Type)])}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data SQIdentifier = SQIdentifier (Annotation) (([String])) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_SQIdentifier :: SQIdentifier ->- T_SQIdentifier -sem_SQIdentifier (SQIdentifier _ann _is ) =- (sem_SQIdentifier_SQIdentifier _ann _is )--- semantic domain-type T_SQIdentifier = Catalog ->- IDEnv ->- LocalBindings ->- ( SQIdentifier ,SQIdentifier ,SQIdentifier ,SQIdentifier ,(Maybe ([(String,Type)],[(String,Type)])))-data Inh_SQIdentifier = Inh_SQIdentifier {cat_Inh_SQIdentifier :: Catalog,idenv_Inh_SQIdentifier :: IDEnv,lib_Inh_SQIdentifier :: LocalBindings}-data Syn_SQIdentifier = Syn_SQIdentifier {annotatedTree_Syn_SQIdentifier :: SQIdentifier ,fixedUpIdentifiersTree_Syn_SQIdentifier :: SQIdentifier ,originalTree_Syn_SQIdentifier :: SQIdentifier ,tbAnnotatedTree_Syn_SQIdentifier :: SQIdentifier ,tbUType_Syn_SQIdentifier :: (Maybe ([(String,Type)],[(String,Type)]))}-wrap_SQIdentifier :: T_SQIdentifier ->- Inh_SQIdentifier ->- Syn_SQIdentifier -wrap_SQIdentifier sem (Inh_SQIdentifier _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOtbAnnotatedTree,_lhsOtbUType) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_SQIdentifier _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOtbAnnotatedTree _lhsOtbUType ))-sem_SQIdentifier_SQIdentifier :: Annotation ->- ([String]) ->- T_SQIdentifier -sem_SQIdentifier_SQIdentifier ann_ is_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _tpe :: (E ([(String,Type)],[(String,Type)]))- _lhsOtbUType :: (Maybe ([(String,Type)],[(String,Type)]))- _lhsOtbAnnotatedTree :: SQIdentifier - _lhsOannotatedTree :: SQIdentifier - _lhsOfixedUpIdentifiersTree :: SQIdentifier - _lhsOoriginalTree :: SQIdentifier - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 67, column 9)- _tpe =- catCompositeAttrsPair _lhsIcat relationComposites (last is_)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 68, column 9)- _lhsOtbUType =- either (const Nothing) Just _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 69, column 9)- _lhsOtbAnnotatedTree =- updateAnnotation- (\a -> a {errs = errs a ++ tes _tpe }) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 72, column 9)- _backTree =- SQIdentifier ann_ is_- -- self rule- _annotatedTree =- SQIdentifier ann_ is_- -- self rule- _fixedUpIdentifiersTree =- SQIdentifier ann_ is_- -- self rule- _originalTree =- SQIdentifier ann_ is_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOtbAnnotatedTree,_lhsOtbUType)))--- ScalarExpr ---------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- expectedType : Maybe Type- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - uType : Maybe Type- alternatives:- alternative BooleanLit:- child ann : {Annotation}- child b : {Bool}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Case:- child ann : {Annotation}- child cases : CaseScalarExprListScalarExprPairList - child els : MaybeScalarExpr - visit 0:- local prototype : {Maybe FunctionPrototype}- local whenTypes : _- local thenTypes : _- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CaseSimple:- child ann : {Annotation}- child value : ScalarExpr - child cases : CaseScalarExprListScalarExprPairList - child els : MaybeScalarExpr - visit 0:- local prototype : {Maybe FunctionPrototype}- local whenTypes : _- local thenTypes : _- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Cast:- child ann : {Annotation}- child expr : ScalarExpr - child tn : TypeName - visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Exists:- child ann : {Annotation}- child sel : QueryExpr - visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Extract:- child ann : {Annotation}- child field : {ExtractField}- child e : ScalarExpr - visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative FunCall:- child ann : {Annotation}- child funName : {String}- child args : ScalarExprList - visit 0:- local _tup1 : _- local tpe : {Et}- local prototype : _- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Identifier:- child ann : {Annotation}- child i : {String}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative InPredicate:- child ann : {Annotation}- child expr : ScalarExpr - child i : {Bool}- child list : InList - visit 0:- local prototype : {Maybe FunctionPrototype}- local rt : {Either [TypeError] Type}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Interval:- child ann : {Annotation}- child value : {String}- child field : {IntervalField}- child prec : {Maybe Int}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative LiftOperator:- child ann : {Annotation}- child oper : {String}- child flav : {LiftFlavour}- child args : ScalarExprList - visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative NullLit:- child ann : {Annotation}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative NumberLit:- child ann : {Annotation}- child d : {String}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Placeholder:- child ann : {Annotation}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative PositionalArg:- child ann : {Annotation}- child p : {Integer}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative QIdentifier:- child ann : {Annotation}- child qual : ScalarExpr - child i : {String}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local qid : {Maybe String}- local backTree : _- local qAnnTreeNoUnrec : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative ScalarSubQuery:- child ann : {Annotation}- child sel : QueryExpr - visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative StringLit:- child ann : {Annotation}- child value : {String}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative TypedStringLit:- child ann : {Annotation}- child tn : TypeName - child value : {String}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative WindowFn:- child ann : {Annotation}- child fn : ScalarExpr - child partitionBy : ScalarExprList - child orderBy : ScalarExprList - child dir : {Direction}- child frm : {FrameClause}- visit 0:- local prototype : {Maybe FunctionPrototype}- local tpe : {Et}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data ScalarExpr = BooleanLit (Annotation) (Bool) - | Case (Annotation) (CaseScalarExprListScalarExprPairList ) (MaybeScalarExpr ) - | CaseSimple (Annotation) (ScalarExpr ) (CaseScalarExprListScalarExprPairList ) (MaybeScalarExpr ) - | Cast (Annotation) (ScalarExpr ) (TypeName ) - | Exists (Annotation) (QueryExpr ) - | Extract (Annotation) (ExtractField) (ScalarExpr ) - | FunCall (Annotation) (String) (ScalarExprList ) - | Identifier (Annotation) (String) - | InPredicate (Annotation) (ScalarExpr ) (Bool) (InList ) - | Interval (Annotation) (String) (IntervalField) ((Maybe Int)) - | LiftOperator (Annotation) (String) (LiftFlavour) (ScalarExprList ) - | NullLit (Annotation) - | NumberLit (Annotation) (String) - | Placeholder (Annotation) - | PositionalArg (Annotation) (Integer) - | QIdentifier (Annotation) (ScalarExpr ) (String) - | ScalarSubQuery (Annotation) (QueryExpr ) - | StringLit (Annotation) (String) - | TypedStringLit (Annotation) (TypeName ) (String) - | WindowFn (Annotation) (ScalarExpr ) (ScalarExprList ) (ScalarExprList ) (Direction) (FrameClause) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_ScalarExpr :: ScalarExpr ->- T_ScalarExpr -sem_ScalarExpr (BooleanLit _ann _b ) =- (sem_ScalarExpr_BooleanLit _ann _b )-sem_ScalarExpr (Case _ann _cases _els ) =- (sem_ScalarExpr_Case _ann (sem_CaseScalarExprListScalarExprPairList _cases ) (sem_MaybeScalarExpr _els ) )-sem_ScalarExpr (CaseSimple _ann _value _cases _els ) =- (sem_ScalarExpr_CaseSimple _ann (sem_ScalarExpr _value ) (sem_CaseScalarExprListScalarExprPairList _cases ) (sem_MaybeScalarExpr _els ) )-sem_ScalarExpr (Cast _ann _expr _tn ) =- (sem_ScalarExpr_Cast _ann (sem_ScalarExpr _expr ) (sem_TypeName _tn ) )-sem_ScalarExpr (Exists _ann _sel ) =- (sem_ScalarExpr_Exists _ann (sem_QueryExpr _sel ) )-sem_ScalarExpr (Extract _ann _field _e ) =- (sem_ScalarExpr_Extract _ann _field (sem_ScalarExpr _e ) )-sem_ScalarExpr (FunCall _ann _funName _args ) =- (sem_ScalarExpr_FunCall _ann _funName (sem_ScalarExprList _args ) )-sem_ScalarExpr (Identifier _ann _i ) =- (sem_ScalarExpr_Identifier _ann _i )-sem_ScalarExpr (InPredicate _ann _expr _i _list ) =- (sem_ScalarExpr_InPredicate _ann (sem_ScalarExpr _expr ) _i (sem_InList _list ) )-sem_ScalarExpr (Interval _ann _value _field _prec ) =- (sem_ScalarExpr_Interval _ann _value _field _prec )-sem_ScalarExpr (LiftOperator _ann _oper _flav _args ) =- (sem_ScalarExpr_LiftOperator _ann _oper _flav (sem_ScalarExprList _args ) )-sem_ScalarExpr (NullLit _ann ) =- (sem_ScalarExpr_NullLit _ann )-sem_ScalarExpr (NumberLit _ann _d ) =- (sem_ScalarExpr_NumberLit _ann _d )-sem_ScalarExpr (Placeholder _ann ) =- (sem_ScalarExpr_Placeholder _ann )-sem_ScalarExpr (PositionalArg _ann _p ) =- (sem_ScalarExpr_PositionalArg _ann _p )-sem_ScalarExpr (QIdentifier _ann _qual _i ) =- (sem_ScalarExpr_QIdentifier _ann (sem_ScalarExpr _qual ) _i )-sem_ScalarExpr (ScalarSubQuery _ann _sel ) =- (sem_ScalarExpr_ScalarSubQuery _ann (sem_QueryExpr _sel ) )-sem_ScalarExpr (StringLit _ann _value ) =- (sem_ScalarExpr_StringLit _ann _value )-sem_ScalarExpr (TypedStringLit _ann _tn _value ) =- (sem_ScalarExpr_TypedStringLit _ann (sem_TypeName _tn ) _value )-sem_ScalarExpr (WindowFn _ann _fn _partitionBy _orderBy _dir _frm ) =- (sem_ScalarExpr_WindowFn _ann (sem_ScalarExpr _fn ) (sem_ScalarExprList _partitionBy ) (sem_ScalarExprList _orderBy ) _dir _frm )--- semantic domain-type T_ScalarExpr = Catalog ->- (Maybe Type) ->- IDEnv ->- LocalBindings ->- ( ScalarExpr ,ScalarExpr ,ScalarExpr ,(Maybe Type))-data Inh_ScalarExpr = Inh_ScalarExpr {cat_Inh_ScalarExpr :: Catalog,expectedType_Inh_ScalarExpr :: (Maybe Type),idenv_Inh_ScalarExpr :: IDEnv,lib_Inh_ScalarExpr :: LocalBindings}-data Syn_ScalarExpr = Syn_ScalarExpr {annotatedTree_Syn_ScalarExpr :: ScalarExpr ,fixedUpIdentifiersTree_Syn_ScalarExpr :: ScalarExpr ,originalTree_Syn_ScalarExpr :: ScalarExpr ,uType_Syn_ScalarExpr :: (Maybe Type)}-wrap_ScalarExpr :: T_ScalarExpr ->- Inh_ScalarExpr ->- Syn_ScalarExpr -wrap_ScalarExpr sem (Inh_ScalarExpr _lhsIcat _lhsIexpectedType _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType) = sem _lhsIcat _lhsIexpectedType _lhsIidenv _lhsIlib - in (Syn_ScalarExpr _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOuType ))-sem_ScalarExpr_BooleanLit :: Annotation ->- Bool ->- T_ScalarExpr -sem_ScalarExpr_BooleanLit ann_ b_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 155, column 19)- _tpe =- Right typeBool- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 165, column 9)- _backTree =- BooleanLit ann_ b_- -- self rule- _annotatedTree =- BooleanLit ann_ b_- -- self rule- _fixedUpIdentifiersTree =- BooleanLit ann_ b_- -- self rule- _originalTree =- BooleanLit ann_ b_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_Case :: Annotation ->- T_CaseScalarExprListScalarExprPairList ->- T_MaybeScalarExpr ->- T_ScalarExpr -sem_ScalarExpr_Case ann_ cases_ els_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _casesOcat :: Catalog- _casesOidenv :: IDEnv- _casesOlib :: LocalBindings- _elsOcat :: Catalog- _elsOidenv :: IDEnv- _elsOlib :: LocalBindings- _casesIannotatedTree :: CaseScalarExprListScalarExprPairList - _casesIfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPairList - _casesIoriginalTree :: CaseScalarExprListScalarExprPairList - _casesIthenTypes :: ([Maybe Type])- _casesIwhenTypes :: ([[Maybe Type]])- _elsIannotatedTree :: MaybeScalarExpr - _elsIfixedUpIdentifiersTree :: MaybeScalarExpr - _elsIoriginalTree :: MaybeScalarExpr - _elsIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 276, column 9)- _whenTypes =- _casesIwhenTypes- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 277, column 9)- _thenTypes =- _casesIthenTypes ++ maybe [] ((:[]) . Just) _elsIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 281, column 9)- _tpe =- do- wt <- mapM lmt $ concat _whenTypes- errorWhen (any (/= typeBool) wt)- [WrongTypes typeBool wt]- tt <- mapM lmt _thenTypes- resolveResultSetType _lhsIcat tt- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 289, column 9)- _backTree =- Case ann_ _casesIannotatedTree _elsIannotatedTree- -- self rule- _annotatedTree =- Case ann_ _casesIannotatedTree _elsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Case ann_ _casesIfixedUpIdentifiersTree _elsIfixedUpIdentifiersTree- -- self rule- _originalTree =- Case ann_ _casesIoriginalTree _elsIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _casesOcat =- _lhsIcat- -- copy rule (down)- _casesOidenv =- _lhsIidenv- -- copy rule (down)- _casesOlib =- _lhsIlib- -- copy rule (down)- _elsOcat =- _lhsIcat- -- copy rule (down)- _elsOidenv =- _lhsIidenv- -- copy rule (down)- _elsOlib =- _lhsIlib- ( _casesIannotatedTree,_casesIfixedUpIdentifiersTree,_casesIoriginalTree,_casesIthenTypes,_casesIwhenTypes) =- cases_ _casesOcat _casesOidenv _casesOlib - ( _elsIannotatedTree,_elsIfixedUpIdentifiersTree,_elsIoriginalTree,_elsIuType) =- els_ _elsOcat _elsOidenv _elsOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_CaseSimple :: Annotation ->- T_ScalarExpr ->- T_CaseScalarExprListScalarExprPairList ->- T_MaybeScalarExpr ->- T_ScalarExpr -sem_ScalarExpr_CaseSimple ann_ value_ cases_ els_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _valueOcat :: Catalog- _valueOexpectedType :: (Maybe Type)- _valueOidenv :: IDEnv- _valueOlib :: LocalBindings- _casesOcat :: Catalog- _casesOidenv :: IDEnv- _casesOlib :: LocalBindings- _elsOcat :: Catalog- _elsOidenv :: IDEnv- _elsOlib :: LocalBindings- _valueIannotatedTree :: ScalarExpr - _valueIfixedUpIdentifiersTree :: ScalarExpr - _valueIoriginalTree :: ScalarExpr - _valueIuType :: (Maybe Type)- _casesIannotatedTree :: CaseScalarExprListScalarExprPairList - _casesIfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPairList - _casesIoriginalTree :: CaseScalarExprListScalarExprPairList - _casesIthenTypes :: ([Maybe Type])- _casesIwhenTypes :: ([[Maybe Type]])- _elsIannotatedTree :: MaybeScalarExpr - _elsIfixedUpIdentifiersTree :: MaybeScalarExpr - _elsIoriginalTree :: MaybeScalarExpr - _elsIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 276, column 9)- _whenTypes =- _casesIwhenTypes- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 277, column 9)- _thenTypes =- _casesIthenTypes ++ maybe [] ((:[]) . Just) _elsIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 294, column 9)- _tpe =- do- wt <- mapM lmt $ concat _whenTypes- vt <- lmt _valueIuType- _ <- resolveResultSetType _lhsIcat (vt : wt)- tt <- mapM lmt _thenTypes- resolveResultSetType _lhsIcat tt- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 301, column 9)- _backTree =- CaseSimple ann_- _valueIannotatedTree- _casesIannotatedTree- _elsIannotatedTree- -- self rule- _annotatedTree =- CaseSimple ann_ _valueIannotatedTree _casesIannotatedTree _elsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CaseSimple ann_ _valueIfixedUpIdentifiersTree _casesIfixedUpIdentifiersTree _elsIfixedUpIdentifiersTree- -- self rule- _originalTree =- CaseSimple ann_ _valueIoriginalTree _casesIoriginalTree _elsIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _valueOcat =- _lhsIcat- -- copy rule (down)- _valueOexpectedType =- _lhsIexpectedType- -- copy rule (down)- _valueOidenv =- _lhsIidenv- -- copy rule (down)- _valueOlib =- _lhsIlib- -- copy rule (down)- _casesOcat =- _lhsIcat- -- copy rule (down)- _casesOidenv =- _lhsIidenv- -- copy rule (down)- _casesOlib =- _lhsIlib- -- copy rule (down)- _elsOcat =- _lhsIcat- -- copy rule (down)- _elsOidenv =- _lhsIidenv- -- copy rule (down)- _elsOlib =- _lhsIlib- ( _valueIannotatedTree,_valueIfixedUpIdentifiersTree,_valueIoriginalTree,_valueIuType) =- value_ _valueOcat _valueOexpectedType _valueOidenv _valueOlib - ( _casesIannotatedTree,_casesIfixedUpIdentifiersTree,_casesIoriginalTree,_casesIthenTypes,_casesIwhenTypes) =- cases_ _casesOcat _casesOidenv _casesOlib - ( _elsIannotatedTree,_elsIfixedUpIdentifiersTree,_elsIoriginalTree,_elsIuType) =- els_ _elsOcat _elsOidenv _elsOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_Cast :: Annotation ->- T_ScalarExpr ->- T_TypeName ->- T_ScalarExpr -sem_ScalarExpr_Cast ann_ expr_ tn_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _exprOcat :: Catalog- _exprOexpectedType :: (Maybe Type)- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _tnOcat :: Catalog- _tnOidenv :: IDEnv- _tnOlib :: LocalBindings- _exprIannotatedTree :: ScalarExpr - _exprIfixedUpIdentifiersTree :: ScalarExpr - _exprIoriginalTree :: ScalarExpr - _exprIuType :: (Maybe Type)- _tnIannotatedTree :: TypeName - _tnIfixedUpIdentifiersTree :: TypeName - _tnInamedType :: (Maybe Type)- _tnIoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 182, column 12)- _tpe =- lmt _tnInamedType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 183, column 12)- _backTree =- Cast ann_ _exprIannotatedTree _tnIannotatedTree- -- self rule- _annotatedTree =- Cast ann_ _exprIannotatedTree _tnIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Cast ann_ _exprIfixedUpIdentifiersTree _tnIfixedUpIdentifiersTree- -- self rule- _originalTree =- Cast ann_ _exprIoriginalTree _tnIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOexpectedType =- _lhsIexpectedType- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- -- copy rule (down)- _tnOcat =- _lhsIcat- -- copy rule (down)- _tnOidenv =- _lhsIidenv- -- copy rule (down)- _tnOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib - ( _tnIannotatedTree,_tnIfixedUpIdentifiersTree,_tnInamedType,_tnIoriginalTree) =- tn_ _tnOcat _tnOidenv _tnOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_Exists :: Annotation ->- T_QueryExpr ->- T_ScalarExpr -sem_ScalarExpr_Exists ann_ sel_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _selOcsql :: LocalBindings- _selOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _selOcat :: Catalog- _selOidenv :: IDEnv- _selOlib :: LocalBindings- _selIannotatedTree :: QueryExpr - _selIcidenv :: IDEnv- _selIfixedUpIdentifiersTree :: QueryExpr - _selIlibUpdates :: ([LocalBindingsUpdate])- _selIoriginalTree :: QueryExpr - _selIuType :: (Maybe [(String,Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 355, column 9)- _tpe =- Right typeBool- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 356, column 9)- _backTree =- Exists ann_ _selIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 379, column 9)- _selOcsql =- _lhsIlib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 171, column 29)- _selOexpectedTypes =- []- -- self rule- _annotatedTree =- Exists ann_ _selIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Exists ann_ _selIfixedUpIdentifiersTree- -- self rule- _originalTree =- Exists ann_ _selIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _selOcat =- _lhsIcat- -- copy rule (down)- _selOidenv =- _lhsIidenv- -- copy rule (down)- _selOlib =- _lhsIlib- ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =- sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_Extract :: Annotation ->- ExtractField ->- T_ScalarExpr ->- T_ScalarExpr -sem_ScalarExpr_Extract ann_ field_ e_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _eOcat :: Catalog- _eOexpectedType :: (Maybe Type)- _eOidenv :: IDEnv- _eOlib :: LocalBindings- _eIannotatedTree :: ScalarExpr - _eIfixedUpIdentifiersTree :: ScalarExpr - _eIoriginalTree :: ScalarExpr - _eIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 424, column 9)- _tpe =- do- x <- lmt _eIuType- if x == typeDate- then Right typeFloat8- else Left [NoMatchingOperator "extract" [x]]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 429, column 9)- _backTree =- Extract ann_ field_ _eIannotatedTree- -- self rule- _annotatedTree =- Extract ann_ field_ _eIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Extract ann_ field_ _eIfixedUpIdentifiersTree- -- self rule- _originalTree =- Extract ann_ field_ _eIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _eOcat =- _lhsIcat- -- copy rule (down)- _eOexpectedType =- _lhsIexpectedType- -- copy rule (down)- _eOidenv =- _lhsIidenv- -- copy rule (down)- _eOlib =- _lhsIlib- ( _eIannotatedTree,_eIfixedUpIdentifiersTree,_eIoriginalTree,_eIuType) =- e_ _eOcat _eOexpectedType _eOidenv _eOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_FunCall :: Annotation ->- String ->- T_ScalarExprList ->- T_ScalarExpr -sem_ScalarExpr_FunCall ann_ funName_ args_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _lhsOuType :: (Maybe Type)- _tpe :: Et- _argsOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _argsOcat :: Catalog- _argsOidenv :: IDEnv- _argsOlib :: LocalBindings- _argsIannotatedTree :: ScalarExprList - _argsIfixedUpIdentifiersTree :: ScalarExprList - _argsIoriginalTree :: ScalarExprList - _argsIuType :: ([Maybe Type])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 196, column 9)- __tup1 =- either (\e -> (Left e, Nothing)) id $ do- args <- mapM lmt _argsIuType- efp <- findCallMatch _lhsIcat- funName_- args- let (_,_,r,_) = efp- return (Right r, Just efp)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 196, column 9)- (_tpe,_) =- __tup1- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 196, column 9)- (_,_prototype) =- __tup1- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 206, column 9)- _backTree =- FunCall ann_ funName_ _argsIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 130, column 9)- _argsOexpectedTypes =- maybe [] id $- case (funName_,_lhsIexpectedType) of- ("!rowctor", Just (AnonymousRecordType ts)) -> return $ map Just ts- _ -> do- (_,t,_,_) <- _prototype- return $ map Just t- -- self rule- _annotatedTree =- FunCall ann_ funName_ _argsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- FunCall ann_ funName_ _argsIfixedUpIdentifiersTree- -- self rule- _originalTree =- FunCall ann_ funName_ _argsIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _argsOcat =- _lhsIcat- -- copy rule (down)- _argsOidenv =- _lhsIidenv- -- copy rule (down)- _argsOlib =- _lhsIlib- ( _argsIannotatedTree,_argsIfixedUpIdentifiersTree,_argsIoriginalTree,_argsIuType) =- args_ _argsOcat _argsOexpectedTypes _argsOidenv _argsOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_Identifier :: Annotation ->- String ->- T_ScalarExpr -sem_ScalarExpr_Identifier ann_ i_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOoriginalTree :: ScalarExpr - -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 131, column 9)- _lhsOfixedUpIdentifiersTree =- case qualifyID _lhsIidenv i_ of- Nothing -> Identifier ann_ i_- Just (t,i) -> QIdentifier ann_ (Identifier ann_ t) i- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 314, column 9)- _tpe =- case lookupLocalBinding _lhsIlib "" i_ of- Right Nothing -> Left []- Right (Just t) -> Right t- Left e -> Left e- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 319, column 9)- _backTree =- Identifier ann_ i_- -- self rule- _annotatedTree =- Identifier ann_ i_- -- self rule- _fixedUpIdentifiersTree =- Identifier ann_ i_- -- self rule- _originalTree =- Identifier ann_ i_- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_InPredicate :: Annotation ->- T_ScalarExpr ->- Bool ->- T_InList ->- T_ScalarExpr -sem_ScalarExpr_InPredicate ann_ expr_ i_ list_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _rt :: (Either [TypeError] Type)- _tpe :: Et- _listOexpectedType :: (Maybe Type)- _exprOexpectedType :: (Maybe Type)- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _listOcat :: Catalog- _listOidenv :: IDEnv- _listOlib :: LocalBindings- _exprIannotatedTree :: ScalarExpr - _exprIfixedUpIdentifiersTree :: ScalarExpr - _exprIoriginalTree :: ScalarExpr - _exprIuType :: (Maybe Type)- _listIannotatedTree :: InList - _listIfixedUpIdentifiersTree :: InList - _listIlistType :: (Either [TypeError] Type)- _listIoriginalTree :: InList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 388, column 9)- _rt =- do- lt <- _listIlistType- expt <- lmt _exprIuType- resolveResultSetType _lhsIcat [expt, lt]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 392, column 9)- _tpe =- do- _ <- _rt- return typeBool- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 395, column 9)- _listOexpectedType =- etmt _rt- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 396, column 9)- _exprOexpectedType =- etmt _rt- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 397, column 9)- _backTree =- InPredicate ann_- _exprIannotatedTree- i_- _listIannotatedTree- -- self rule- _annotatedTree =- InPredicate ann_ _exprIannotatedTree i_ _listIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- InPredicate ann_ _exprIfixedUpIdentifiersTree i_ _listIfixedUpIdentifiersTree- -- self rule- _originalTree =- InPredicate ann_ _exprIoriginalTree i_ _listIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- -- copy rule (down)- _listOcat =- _lhsIcat- -- copy rule (down)- _listOidenv =- _lhsIidenv- -- copy rule (down)- _listOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib - ( _listIannotatedTree,_listIfixedUpIdentifiersTree,_listIlistType,_listIoriginalTree) =- list_ _listOcat _listOexpectedType _listOidenv _listOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_Interval :: Annotation ->- String ->- IntervalField ->- (Maybe Int) ->- T_ScalarExpr -sem_ScalarExpr_Interval ann_ value_ field_ prec_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 170, column 16)- _tpe =- Right $ ScalarType "interval"- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 171, column 16)- _backTree =- Interval ann_ value_ field_ prec_- -- self rule- _annotatedTree =- Interval ann_ value_ field_ prec_- -- self rule- _fixedUpIdentifiersTree =- Interval ann_ value_ field_ prec_- -- self rule- _originalTree =- Interval ann_ value_ field_ prec_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_LiftOperator :: Annotation ->- String ->- LiftFlavour ->- T_ScalarExprList ->- T_ScalarExpr -sem_ScalarExpr_LiftOperator ann_ oper_ flav_ args_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _argsOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _argsOcat :: Catalog- _argsOidenv :: IDEnv- _argsOlib :: LocalBindings- _argsIannotatedTree :: ScalarExprList - _argsIfixedUpIdentifiersTree :: ScalarExprList - _argsIoriginalTree :: ScalarExprList - _argsIuType :: ([Maybe Type])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 229, column 9)- _tpe =- do- at <- mapM lmt _argsIuType- errorWhen (length at /= 2)- [AnyAllError $ "must have two args, got " ++ show at]- let [aType,bType] = at- errorWhen (not $ isArrayType bType)- [AnyAllError $ "second arg must be array, got " ++ show at]- elemType <- unwrapArray $ bType- resType <- fmap (\(_,_,r,_) -> r) $ findCallMatch _lhsIcat- oper_- [aType,elemType]- errorWhen (resType /= typeBool)- [AnyAllError $ "operator must have bool return, got " ++ show resType]- return resType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 243, column 9)- _backTree =- LiftOperator ann_ oper_ flav_ _argsIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 138, column 9)- _argsOexpectedTypes =- []- -- self rule- _annotatedTree =- LiftOperator ann_ oper_ flav_ _argsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- LiftOperator ann_ oper_ flav_ _argsIfixedUpIdentifiersTree- -- self rule- _originalTree =- LiftOperator ann_ oper_ flav_ _argsIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _argsOcat =- _lhsIcat- -- copy rule (down)- _argsOidenv =- _lhsIidenv- -- copy rule (down)- _argsOlib =- _lhsIlib- ( _argsIannotatedTree,_argsIfixedUpIdentifiersTree,_argsIoriginalTree,_argsIuType) =- args_ _argsOcat _argsOexpectedTypes _argsOidenv _argsOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_NullLit :: Annotation ->- T_ScalarExpr -sem_ScalarExpr_NullLit ann_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 157, column 16)- _tpe =- Right UnknownType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 167, column 9)- _backTree =- NullLit ann_- -- self rule- _annotatedTree =- NullLit ann_- -- self rule- _fixedUpIdentifiersTree =- NullLit ann_- -- self rule- _originalTree =- NullLit ann_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_NumberLit :: Annotation ->- String ->- T_ScalarExpr -sem_ScalarExpr_NumberLit ann_ d_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 149, column 18)- _tpe =- if all (`elem` digChars) d_- then Right typeInt- else Right typeNumeric- where- digChars = concatMap show [(0::Int)..9]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 161, column 9)- _backTree =- NumberLit ann_ d_- -- self rule- _annotatedTree =- NumberLit ann_ d_- -- self rule- _fixedUpIdentifiersTree =- NumberLit ann_ d_- -- self rule- _originalTree =- NumberLit ann_ d_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_Placeholder :: Annotation ->- T_ScalarExpr -sem_ScalarExpr_Placeholder ann_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 349, column 9)- _tpe =- Right UnknownType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 350, column 9)- _backTree =- Placeholder ann_- -- self rule- _annotatedTree =- Placeholder ann_- -- self rule- _fixedUpIdentifiersTree =- Placeholder ann_- -- self rule- _originalTree =- Placeholder ann_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_PositionalArg :: Annotation ->- Integer ->- T_ScalarExpr -sem_ScalarExpr_PositionalArg ann_ p_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 343, column 9)- _tpe =- unwrapLookup <$> lbLookupID _lhsIlib ['$':show p_]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 344, column 9)- _backTree =- PositionalArg ann_ p_- -- self rule- _annotatedTree =- PositionalArg ann_ p_- -- self rule- _fixedUpIdentifiersTree =- PositionalArg ann_ p_- -- self rule- _originalTree =- PositionalArg ann_ p_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_QIdentifier :: Annotation ->- T_ScalarExpr ->- String ->- T_ScalarExpr -sem_ScalarExpr_QIdentifier ann_ qual_ i_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _qid :: (Maybe String)- _lhsOoriginalTree :: ScalarExpr - _qualOcat :: Catalog- _qualOexpectedType :: (Maybe Type)- _qualOidenv :: IDEnv- _qualOlib :: LocalBindings- _qualIannotatedTree :: ScalarExpr - _qualIfixedUpIdentifiersTree :: ScalarExpr - _qualIoriginalTree :: ScalarExpr - _qualIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 137, column 9)- _lhsOfixedUpIdentifiersTree =- QIdentifier ann_ _qualIoriginalTree i_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 321, column 9)- _tpe =- case _qid of- Nothing -> Left [InternalError "dot selection not implemented"]- Just q -> case lookupLocalBinding _lhsIlib q i_ of- Right Nothing -> Left []- Right (Just t) -> Right t- Left e -> Left e- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 334, column 9)- _qid =- case _backTree of- QIdentifier _ (Identifier _ q) _ -> Just q- _ -> Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 337, column 9)- _backTree =- QIdentifier ann_ _qAnnTreeNoUnrec i_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 339, column 9)- _qAnnTreeNoUnrec =- updateAnnotation (\a -> a {errs = []}) _qualIannotatedTree- -- self rule- _annotatedTree =- QIdentifier ann_ _qualIannotatedTree i_- -- self rule- _fixedUpIdentifiersTree =- QIdentifier ann_ _qualIfixedUpIdentifiersTree i_- -- self rule- _originalTree =- QIdentifier ann_ _qualIoriginalTree i_- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _qualOcat =- _lhsIcat- -- copy rule (down)- _qualOexpectedType =- _lhsIexpectedType- -- copy rule (down)- _qualOidenv =- _lhsIidenv- -- copy rule (down)- _qualOlib =- _lhsIlib- ( _qualIannotatedTree,_qualIfixedUpIdentifiersTree,_qualIoriginalTree,_qualIuType) =- qual_ _qualOcat _qualOexpectedType _qualOidenv _qualOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_ScalarSubQuery :: Annotation ->- T_QueryExpr ->- T_ScalarExpr -sem_ScalarExpr_ScalarSubQuery ann_ sel_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _selOcsql :: LocalBindings- _selOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _selOcat :: Catalog- _selOidenv :: IDEnv- _selOlib :: LocalBindings- _selIannotatedTree :: QueryExpr - _selIcidenv :: IDEnv- _selIfixedUpIdentifiersTree :: QueryExpr - _selIlibUpdates :: ([LocalBindingsUpdate])- _selIoriginalTree :: QueryExpr - _selIuType :: (Maybe [(String,Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 367, column 9)- _tpe =- do- selType <- lmt (map snd <$> _selIuType)- case length selType of- 0 -> Left [InternalError "no columns in scalar subquery?"]- 1 -> Right $ head selType- _ -> Right $ AnonymousRecordType selType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 375, column 9)- _backTree =- ScalarSubQuery ann_ _selIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 377, column 9)- _selOcsql =- _lhsIlib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 171, column 29)- _selOexpectedTypes =- []- -- self rule- _annotatedTree =- ScalarSubQuery ann_ _selIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- ScalarSubQuery ann_ _selIfixedUpIdentifiersTree- -- self rule- _originalTree =- ScalarSubQuery ann_ _selIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _selOcat =- _lhsIcat- -- copy rule (down)- _selOidenv =- _lhsIidenv- -- copy rule (down)- _selOlib =- _lhsIlib- ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =- sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_StringLit :: Annotation ->- String ->- T_ScalarExpr -sem_ScalarExpr_StringLit ann_ value_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 154, column 18)- _tpe =- Right UnknownType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 163, column 9)- _backTree =- StringLit ann_ value_- -- self rule- _annotatedTree =- StringLit ann_ value_- -- self rule- _fixedUpIdentifiersTree =- StringLit ann_ value_- -- self rule- _originalTree =- StringLit ann_ value_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_TypedStringLit :: Annotation ->- T_TypeName ->- String ->- T_ScalarExpr -sem_ScalarExpr_TypedStringLit ann_ tn_ value_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _tnOcat :: Catalog- _tnOidenv :: IDEnv- _tnOlib :: LocalBindings- _tnIannotatedTree :: TypeName - _tnIfixedUpIdentifiersTree :: TypeName - _tnInamedType :: (Maybe Type)- _tnIoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 187, column 10)- _tpe =- lmt _tnInamedType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 188, column 10)- _backTree =- TypedStringLit ann_ _tnIannotatedTree value_- -- self rule- _annotatedTree =- TypedStringLit ann_ _tnIannotatedTree value_- -- self rule- _fixedUpIdentifiersTree =- TypedStringLit ann_ _tnIfixedUpIdentifiersTree value_- -- self rule- _originalTree =- TypedStringLit ann_ _tnIoriginalTree value_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _tnOcat =- _lhsIcat- -- copy rule (down)- _tnOidenv =- _lhsIidenv- -- copy rule (down)- _tnOlib =- _lhsIlib- ( _tnIannotatedTree,_tnIfixedUpIdentifiersTree,_tnInamedType,_tnIoriginalTree) =- tn_ _tnOcat _tnOidenv _tnOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExpr_WindowFn :: Annotation ->- T_ScalarExpr ->- T_ScalarExprList ->- T_ScalarExprList ->- Direction ->- FrameClause ->- T_ScalarExpr -sem_ScalarExpr_WindowFn ann_ fn_ partitionBy_ orderBy_ dir_ frm_ =- (\ _lhsIcat- _lhsIexpectedType- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExpr - _prototype :: (Maybe FunctionPrototype)- _lhsOuType :: (Maybe Type)- _tpe :: Et- _partitionByOexpectedTypes :: ([Maybe Type])- _orderByOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: ScalarExpr - _lhsOoriginalTree :: ScalarExpr - _fnOcat :: Catalog- _fnOexpectedType :: (Maybe Type)- _fnOidenv :: IDEnv- _fnOlib :: LocalBindings- _partitionByOcat :: Catalog- _partitionByOidenv :: IDEnv- _partitionByOlib :: LocalBindings- _orderByOcat :: Catalog- _orderByOidenv :: IDEnv- _orderByOlib :: LocalBindings- _fnIannotatedTree :: ScalarExpr - _fnIfixedUpIdentifiersTree :: ScalarExpr - _fnIoriginalTree :: ScalarExpr - _fnIuType :: (Maybe Type)- _partitionByIannotatedTree :: ScalarExprList - _partitionByIfixedUpIdentifiersTree :: ScalarExprList - _partitionByIoriginalTree :: ScalarExprList - _partitionByIuType :: ([Maybe Type])- _orderByIannotatedTree :: ScalarExprList - _orderByIfixedUpIdentifiersTree :: ScalarExprList - _orderByIoriginalTree :: ScalarExprList - _orderByIuType :: ([Maybe Type])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)- _lhsOannotatedTree =- updateAnnotation- (setTypeAddErrorsA _tpe- . \a -> a {fnProt = _prototype- ,infType = msum [_lhsIexpectedType- ,etmt _tpe- ,Nothing]}) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)- _prototype =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)- _lhsOuType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 210, column 9)- _tpe =- lmt _fnIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 211, column 9)- _backTree =- WindowFn ann_- _fnIannotatedTree- _partitionByIannotatedTree- _orderByIannotatedTree- dir_- frm_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 140, column 9)- _partitionByOexpectedTypes =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 141, column 9)- _orderByOexpectedTypes =- []- -- self rule- _annotatedTree =- WindowFn ann_ _fnIannotatedTree _partitionByIannotatedTree _orderByIannotatedTree dir_ frm_- -- self rule- _fixedUpIdentifiersTree =- WindowFn ann_ _fnIfixedUpIdentifiersTree _partitionByIfixedUpIdentifiersTree _orderByIfixedUpIdentifiersTree dir_ frm_- -- self rule- _originalTree =- WindowFn ann_ _fnIoriginalTree _partitionByIoriginalTree _orderByIoriginalTree dir_ frm_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _fnOcat =- _lhsIcat- -- copy rule (down)- _fnOexpectedType =- _lhsIexpectedType- -- copy rule (down)- _fnOidenv =- _lhsIidenv- -- copy rule (down)- _fnOlib =- _lhsIlib- -- copy rule (down)- _partitionByOcat =- _lhsIcat- -- copy rule (down)- _partitionByOidenv =- _lhsIidenv- -- copy rule (down)- _partitionByOlib =- _lhsIlib- -- copy rule (down)- _orderByOcat =- _lhsIcat- -- copy rule (down)- _orderByOidenv =- _lhsIidenv- -- copy rule (down)- _orderByOlib =- _lhsIlib- ( _fnIannotatedTree,_fnIfixedUpIdentifiersTree,_fnIoriginalTree,_fnIuType) =- fn_ _fnOcat _fnOexpectedType _fnOidenv _fnOlib - ( _partitionByIannotatedTree,_partitionByIfixedUpIdentifiersTree,_partitionByIoriginalTree,_partitionByIuType) =- partitionBy_ _partitionByOcat _partitionByOexpectedTypes _partitionByOidenv _partitionByOlib - ( _orderByIannotatedTree,_orderByIfixedUpIdentifiersTree,_orderByIoriginalTree,_orderByIuType) =- orderBy_ _orderByOcat _orderByOexpectedTypes _orderByOidenv _orderByOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))--- ScalarExprDirectionPair --------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Tuple:- child x1 : ScalarExpr - child x2 : {Direction}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type ScalarExprDirectionPair = ( ScalarExpr ,(Direction))--- cata-sem_ScalarExprDirectionPair :: ScalarExprDirectionPair ->- T_ScalarExprDirectionPair -sem_ScalarExprDirectionPair ( x1,x2) =- (sem_ScalarExprDirectionPair_Tuple (sem_ScalarExpr x1 ) x2 )--- semantic domain-type T_ScalarExprDirectionPair = Catalog ->- IDEnv ->- LocalBindings ->- ( ScalarExprDirectionPair ,ScalarExprDirectionPair ,ScalarExprDirectionPair )-data Inh_ScalarExprDirectionPair = Inh_ScalarExprDirectionPair {cat_Inh_ScalarExprDirectionPair :: Catalog,idenv_Inh_ScalarExprDirectionPair :: IDEnv,lib_Inh_ScalarExprDirectionPair :: LocalBindings}-data Syn_ScalarExprDirectionPair = Syn_ScalarExprDirectionPair {annotatedTree_Syn_ScalarExprDirectionPair :: ScalarExprDirectionPair ,fixedUpIdentifiersTree_Syn_ScalarExprDirectionPair :: ScalarExprDirectionPair ,originalTree_Syn_ScalarExprDirectionPair :: ScalarExprDirectionPair }-wrap_ScalarExprDirectionPair :: T_ScalarExprDirectionPair ->- Inh_ScalarExprDirectionPair ->- Syn_ScalarExprDirectionPair -wrap_ScalarExprDirectionPair sem (Inh_ScalarExprDirectionPair _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_ScalarExprDirectionPair _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_ScalarExprDirectionPair_Tuple :: T_ScalarExpr ->- Direction ->- T_ScalarExprDirectionPair -sem_ScalarExprDirectionPair_Tuple x1_ x2_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _x1OexpectedType :: (Maybe Type)- _lhsOannotatedTree :: ScalarExprDirectionPair - _lhsOfixedUpIdentifiersTree :: ScalarExprDirectionPair - _lhsOoriginalTree :: ScalarExprDirectionPair - _x1Ocat :: Catalog- _x1Oidenv :: IDEnv- _x1Olib :: LocalBindings- _x1IannotatedTree :: ScalarExpr - _x1IfixedUpIdentifiersTree :: ScalarExpr - _x1IoriginalTree :: ScalarExpr - _x1IuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 83, column 13)- _x1OexpectedType =- Nothing- -- self rule- _annotatedTree =- (_x1IannotatedTree,x2_)- -- self rule- _fixedUpIdentifiersTree =- (_x1IfixedUpIdentifiersTree,x2_)- -- self rule- _originalTree =- (_x1IoriginalTree,x2_)- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _x1Ocat =- _lhsIcat- -- copy rule (down)- _x1Oidenv =- _lhsIidenv- -- copy rule (down)- _x1Olib =- _lhsIlib- ( _x1IannotatedTree,_x1IfixedUpIdentifiersTree,_x1IoriginalTree,_x1IuType) =- x1_ _x1Ocat _x1OexpectedType _x1Oidenv _x1Olib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- ScalarExprDirectionPairList ----------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Cons:- child hd : ScalarExprDirectionPair - child tl : ScalarExprDirectionPairList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type ScalarExprDirectionPairList = [ScalarExprDirectionPair ]--- cata-sem_ScalarExprDirectionPairList :: ScalarExprDirectionPairList ->- T_ScalarExprDirectionPairList -sem_ScalarExprDirectionPairList list =- (Prelude.foldr sem_ScalarExprDirectionPairList_Cons sem_ScalarExprDirectionPairList_Nil (Prelude.map sem_ScalarExprDirectionPair list) )--- semantic domain-type T_ScalarExprDirectionPairList = Catalog ->- IDEnv ->- LocalBindings ->- ( ScalarExprDirectionPairList ,ScalarExprDirectionPairList ,ScalarExprDirectionPairList )-data Inh_ScalarExprDirectionPairList = Inh_ScalarExprDirectionPairList {cat_Inh_ScalarExprDirectionPairList :: Catalog,idenv_Inh_ScalarExprDirectionPairList :: IDEnv,lib_Inh_ScalarExprDirectionPairList :: LocalBindings}-data Syn_ScalarExprDirectionPairList = Syn_ScalarExprDirectionPairList {annotatedTree_Syn_ScalarExprDirectionPairList :: ScalarExprDirectionPairList ,fixedUpIdentifiersTree_Syn_ScalarExprDirectionPairList :: ScalarExprDirectionPairList ,originalTree_Syn_ScalarExprDirectionPairList :: ScalarExprDirectionPairList }-wrap_ScalarExprDirectionPairList :: T_ScalarExprDirectionPairList ->- Inh_ScalarExprDirectionPairList ->- Syn_ScalarExprDirectionPairList -wrap_ScalarExprDirectionPairList sem (Inh_ScalarExprDirectionPairList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_ScalarExprDirectionPairList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_ScalarExprDirectionPairList_Cons :: T_ScalarExprDirectionPair ->- T_ScalarExprDirectionPairList ->- T_ScalarExprDirectionPairList -sem_ScalarExprDirectionPairList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExprDirectionPairList - _lhsOfixedUpIdentifiersTree :: ScalarExprDirectionPairList - _lhsOoriginalTree :: ScalarExprDirectionPairList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: ScalarExprDirectionPair - _hdIfixedUpIdentifiersTree :: ScalarExprDirectionPair - _hdIoriginalTree :: ScalarExprDirectionPair - _tlIannotatedTree :: ScalarExprDirectionPairList - _tlIfixedUpIdentifiersTree :: ScalarExprDirectionPairList - _tlIoriginalTree :: ScalarExprDirectionPairList - -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_ScalarExprDirectionPairList_Nil :: T_ScalarExprDirectionPairList -sem_ScalarExprDirectionPairList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExprDirectionPairList - _lhsOfixedUpIdentifiersTree :: ScalarExprDirectionPairList - _lhsOoriginalTree :: ScalarExprDirectionPairList - -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- ScalarExprList -----------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- expectedTypes : [Maybe Type]- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - uType : [Maybe Type]- alternatives:- alternative Cons:- child hd : ScalarExpr - child tl : ScalarExprList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type ScalarExprList = [ScalarExpr ]--- cata-sem_ScalarExprList :: ScalarExprList ->- T_ScalarExprList -sem_ScalarExprList list =- (Prelude.foldr sem_ScalarExprList_Cons sem_ScalarExprList_Nil (Prelude.map sem_ScalarExpr list) )--- semantic domain-type T_ScalarExprList = Catalog ->- ([Maybe Type]) ->- IDEnv ->- LocalBindings ->- ( ScalarExprList ,ScalarExprList ,ScalarExprList ,([Maybe Type]))-data Inh_ScalarExprList = Inh_ScalarExprList {cat_Inh_ScalarExprList :: Catalog,expectedTypes_Inh_ScalarExprList :: ([Maybe Type]),idenv_Inh_ScalarExprList :: IDEnv,lib_Inh_ScalarExprList :: LocalBindings}-data Syn_ScalarExprList = Syn_ScalarExprList {annotatedTree_Syn_ScalarExprList :: ScalarExprList ,fixedUpIdentifiersTree_Syn_ScalarExprList :: ScalarExprList ,originalTree_Syn_ScalarExprList :: ScalarExprList ,uType_Syn_ScalarExprList :: ([Maybe Type])}-wrap_ScalarExprList :: T_ScalarExprList ->- Inh_ScalarExprList ->- Syn_ScalarExprList -wrap_ScalarExprList sem (Inh_ScalarExprList _lhsIcat _lhsIexpectedTypes _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType) = sem _lhsIcat _lhsIexpectedTypes _lhsIidenv _lhsIlib - in (Syn_ScalarExprList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOuType ))-sem_ScalarExprList_Cons :: T_ScalarExpr ->- T_ScalarExprList ->- T_ScalarExprList -sem_ScalarExprList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIexpectedTypes- _lhsIidenv- _lhsIlib ->- (let _lhsOuType :: ([Maybe Type])- _hdOexpectedType :: (Maybe Type)- _tlOexpectedTypes :: ([Maybe Type])- _lhsOannotatedTree :: ScalarExprList - _lhsOfixedUpIdentifiersTree :: ScalarExprList - _lhsOoriginalTree :: ScalarExprList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: ScalarExpr - _hdIfixedUpIdentifiersTree :: ScalarExpr - _hdIoriginalTree :: ScalarExpr - _hdIuType :: (Maybe Type)- _tlIannotatedTree :: ScalarExprList - _tlIfixedUpIdentifiersTree :: ScalarExprList - _tlIoriginalTree :: ScalarExprList - _tlIuType :: ([Maybe Type])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 107, column 12)- _lhsOuType =- _hdIuType : _tlIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 86, column 12)- _hdOexpectedType =- case _lhsIexpectedTypes of- (t:_) -> t- _ -> Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 89, column 12)- _tlOexpectedTypes =- case _lhsIexpectedTypes of- (_:ts) -> ts- _ -> []- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree,_hdIuType) =- hd_ _hdOcat _hdOexpectedType _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIuType) =- tl_ _tlOcat _tlOexpectedTypes _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExprList_Nil :: T_ScalarExprList -sem_ScalarExprList_Nil =- (\ _lhsIcat- _lhsIexpectedTypes- _lhsIidenv- _lhsIlib ->- (let _lhsOuType :: ([Maybe Type])- _lhsOannotatedTree :: ScalarExprList - _lhsOfixedUpIdentifiersTree :: ScalarExprList - _lhsOoriginalTree :: ScalarExprList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 108, column 11)- _lhsOuType =- []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))--- ScalarExprListList -------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- expectedTypes : [Maybe Type]- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - uType : [[Maybe Type]]- alternatives:- alternative Cons:- child hd : ScalarExprList - child tl : ScalarExprListList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type ScalarExprListList = [ScalarExprList ]--- cata-sem_ScalarExprListList :: ScalarExprListList ->- T_ScalarExprListList -sem_ScalarExprListList list =- (Prelude.foldr sem_ScalarExprListList_Cons sem_ScalarExprListList_Nil (Prelude.map sem_ScalarExprList list) )--- semantic domain-type T_ScalarExprListList = Catalog ->- ([Maybe Type]) ->- IDEnv ->- LocalBindings ->- ( ScalarExprListList ,ScalarExprListList ,ScalarExprListList ,([[Maybe Type]]))-data Inh_ScalarExprListList = Inh_ScalarExprListList {cat_Inh_ScalarExprListList :: Catalog,expectedTypes_Inh_ScalarExprListList :: ([Maybe Type]),idenv_Inh_ScalarExprListList :: IDEnv,lib_Inh_ScalarExprListList :: LocalBindings}-data Syn_ScalarExprListList = Syn_ScalarExprListList {annotatedTree_Syn_ScalarExprListList :: ScalarExprListList ,fixedUpIdentifiersTree_Syn_ScalarExprListList :: ScalarExprListList ,originalTree_Syn_ScalarExprListList :: ScalarExprListList ,uType_Syn_ScalarExprListList :: ([[Maybe Type]])}-wrap_ScalarExprListList :: T_ScalarExprListList ->- Inh_ScalarExprListList ->- Syn_ScalarExprListList -wrap_ScalarExprListList sem (Inh_ScalarExprListList _lhsIcat _lhsIexpectedTypes _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType) = sem _lhsIcat _lhsIexpectedTypes _lhsIidenv _lhsIlib - in (Syn_ScalarExprListList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOuType ))-sem_ScalarExprListList_Cons :: T_ScalarExprList ->- T_ScalarExprListList ->- T_ScalarExprListList -sem_ScalarExprListList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIexpectedTypes- _lhsIidenv- _lhsIlib ->- (let _lhsOuType :: ([[Maybe Type]])- _hdOexpectedTypes :: ([Maybe Type])- _tlOexpectedTypes :: ([Maybe Type])- _lhsOannotatedTree :: ScalarExprListList - _lhsOfixedUpIdentifiersTree :: ScalarExprListList - _lhsOoriginalTree :: ScalarExprListList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: ScalarExprList - _hdIfixedUpIdentifiersTree :: ScalarExprList - _hdIoriginalTree :: ScalarExprList - _hdIuType :: ([Maybe Type])- _tlIannotatedTree :: ScalarExprListList - _tlIfixedUpIdentifiersTree :: ScalarExprListList - _tlIoriginalTree :: ScalarExprListList - _tlIuType :: ([[Maybe Type]])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 117, column 12)- _lhsOuType =- _hdIuType : _tlIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 167, column 12)- _hdOexpectedTypes =- _lhsIexpectedTypes- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 168, column 12)- _tlOexpectedTypes =- _lhsIexpectedTypes- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree,_hdIuType) =- hd_ _hdOcat _hdOexpectedTypes _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIuType) =- tl_ _tlOcat _tlOexpectedTypes _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))-sem_ScalarExprListList_Nil :: T_ScalarExprListList -sem_ScalarExprListList_Nil =- (\ _lhsIcat- _lhsIexpectedTypes- _lhsIidenv- _lhsIlib ->- (let _lhsOuType :: ([[Maybe Type]])- _lhsOannotatedTree :: ScalarExprListList - _lhsOfixedUpIdentifiersTree :: ScalarExprListList - _lhsOoriginalTree :: ScalarExprListList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 118, column 11)- _lhsOuType =- []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))--- ScalarExprListStatementListPair ------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Tuple:- child x1 : ScalarExprList - child x2 : StatementList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type ScalarExprListStatementListPair = ( ScalarExprList ,StatementList )--- cata-sem_ScalarExprListStatementListPair :: ScalarExprListStatementListPair ->- T_ScalarExprListStatementListPair -sem_ScalarExprListStatementListPair ( x1,x2) =- (sem_ScalarExprListStatementListPair_Tuple (sem_ScalarExprList x1 ) (sem_StatementList x2 ) )--- semantic domain-type T_ScalarExprListStatementListPair = Catalog ->- IDEnv ->- LocalBindings ->- ( ScalarExprListStatementListPair ,ScalarExprListStatementListPair ,ScalarExprListStatementListPair )-data Inh_ScalarExprListStatementListPair = Inh_ScalarExprListStatementListPair {cat_Inh_ScalarExprListStatementListPair :: Catalog,idenv_Inh_ScalarExprListStatementListPair :: IDEnv,lib_Inh_ScalarExprListStatementListPair :: LocalBindings}-data Syn_ScalarExprListStatementListPair = Syn_ScalarExprListStatementListPair {annotatedTree_Syn_ScalarExprListStatementListPair :: ScalarExprListStatementListPair ,fixedUpIdentifiersTree_Syn_ScalarExprListStatementListPair :: ScalarExprListStatementListPair ,originalTree_Syn_ScalarExprListStatementListPair :: ScalarExprListStatementListPair }-wrap_ScalarExprListStatementListPair :: T_ScalarExprListStatementListPair ->- Inh_ScalarExprListStatementListPair ->- Syn_ScalarExprListStatementListPair -wrap_ScalarExprListStatementListPair sem (Inh_ScalarExprListStatementListPair _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_ScalarExprListStatementListPair _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_ScalarExprListStatementListPair_Tuple :: T_ScalarExprList ->- T_StatementList ->- T_ScalarExprListStatementListPair -sem_ScalarExprListStatementListPair_Tuple x1_ x2_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _x2OcatUpdates :: ([CatalogUpdate])- _x2OlibUpdates :: ([LocalBindingsUpdate])- _x1OexpectedTypes :: ([Maybe Type])- _lhsOannotatedTree :: ScalarExprListStatementListPair - _lhsOfixedUpIdentifiersTree :: ScalarExprListStatementListPair - _lhsOoriginalTree :: ScalarExprListStatementListPair - _x1Ocat :: Catalog- _x1Oidenv :: IDEnv- _x1Olib :: LocalBindings- _x2Ocat :: Catalog- _x2Oidenv :: IDEnv- _x2Olib :: LocalBindings- _x1IannotatedTree :: ScalarExprList - _x1IfixedUpIdentifiersTree :: ScalarExprList - _x1IoriginalTree :: ScalarExprList - _x1IuType :: ([Maybe Type])- _x2IannotatedTree :: StatementList - _x2IfixedUpIdentifiersTree :: StatementList - _x2IoriginalTree :: StatementList - _x2IproducedCat :: Catalog- _x2IproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 121, column 9)- _x2OcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 122, column 9)- _x2OlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 144, column 13)- _x1OexpectedTypes =- []- -- self rule- _annotatedTree =- (_x1IannotatedTree,_x2IannotatedTree)- -- self rule- _fixedUpIdentifiersTree =- (_x1IfixedUpIdentifiersTree,_x2IfixedUpIdentifiersTree)- -- self rule- _originalTree =- (_x1IoriginalTree,_x2IoriginalTree)- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _x1Ocat =- _lhsIcat- -- copy rule (down)- _x1Oidenv =- _lhsIidenv- -- copy rule (down)- _x1Olib =- _lhsIlib- -- copy rule (down)- _x2Ocat =- _lhsIcat- -- copy rule (down)- _x2Oidenv =- _lhsIidenv- -- copy rule (down)- _x2Olib =- _lhsIlib- ( _x1IannotatedTree,_x1IfixedUpIdentifiersTree,_x1IoriginalTree,_x1IuType) =- x1_ _x1Ocat _x1OexpectedTypes _x1Oidenv _x1Olib - ( _x2IannotatedTree,_x2IfixedUpIdentifiersTree,_x2IoriginalTree,_x2IproducedCat,_x2IproducedLib) =- x2_ _x2Ocat _x2OcatUpdates _x2Oidenv _x2Olib _x2OlibUpdates - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- ScalarExprListStatementListPairList --------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Cons:- child hd : ScalarExprListStatementListPair - child tl : ScalarExprListStatementListPairList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type ScalarExprListStatementListPairList = [ScalarExprListStatementListPair ]--- cata-sem_ScalarExprListStatementListPairList :: ScalarExprListStatementListPairList ->- T_ScalarExprListStatementListPairList -sem_ScalarExprListStatementListPairList list =- (Prelude.foldr sem_ScalarExprListStatementListPairList_Cons sem_ScalarExprListStatementListPairList_Nil (Prelude.map sem_ScalarExprListStatementListPair list) )--- semantic domain-type T_ScalarExprListStatementListPairList = Catalog ->- IDEnv ->- LocalBindings ->- ( ScalarExprListStatementListPairList ,ScalarExprListStatementListPairList ,ScalarExprListStatementListPairList )-data Inh_ScalarExprListStatementListPairList = Inh_ScalarExprListStatementListPairList {cat_Inh_ScalarExprListStatementListPairList :: Catalog,idenv_Inh_ScalarExprListStatementListPairList :: IDEnv,lib_Inh_ScalarExprListStatementListPairList :: LocalBindings}-data Syn_ScalarExprListStatementListPairList = Syn_ScalarExprListStatementListPairList {annotatedTree_Syn_ScalarExprListStatementListPairList :: ScalarExprListStatementListPairList ,fixedUpIdentifiersTree_Syn_ScalarExprListStatementListPairList :: ScalarExprListStatementListPairList ,originalTree_Syn_ScalarExprListStatementListPairList :: ScalarExprListStatementListPairList }-wrap_ScalarExprListStatementListPairList :: T_ScalarExprListStatementListPairList ->- Inh_ScalarExprListStatementListPairList ->- Syn_ScalarExprListStatementListPairList -wrap_ScalarExprListStatementListPairList sem (Inh_ScalarExprListStatementListPairList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_ScalarExprListStatementListPairList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_ScalarExprListStatementListPairList_Cons :: T_ScalarExprListStatementListPair ->- T_ScalarExprListStatementListPairList ->- T_ScalarExprListStatementListPairList -sem_ScalarExprListStatementListPairList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExprListStatementListPairList - _lhsOfixedUpIdentifiersTree :: ScalarExprListStatementListPairList - _lhsOoriginalTree :: ScalarExprListStatementListPairList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: ScalarExprListStatementListPair - _hdIfixedUpIdentifiersTree :: ScalarExprListStatementListPair - _hdIoriginalTree :: ScalarExprListStatementListPair - _tlIannotatedTree :: ScalarExprListStatementListPairList - _tlIfixedUpIdentifiersTree :: ScalarExprListStatementListPairList - _tlIoriginalTree :: ScalarExprListStatementListPairList - -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_ScalarExprListStatementListPairList_Nil :: T_ScalarExprListStatementListPairList -sem_ScalarExprListStatementListPairList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExprListStatementListPairList - _lhsOfixedUpIdentifiersTree :: ScalarExprListStatementListPairList - _lhsOoriginalTree :: ScalarExprListStatementListPairList - -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- ScalarExprRoot -----------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative ScalarExprRoot:- child expr : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data ScalarExprRoot = ScalarExprRoot (ScalarExpr ) - deriving ( Show)--- cata-sem_ScalarExprRoot :: ScalarExprRoot ->- T_ScalarExprRoot -sem_ScalarExprRoot (ScalarExprRoot _expr ) =- (sem_ScalarExprRoot_ScalarExprRoot (sem_ScalarExpr _expr ) )--- semantic domain-type T_ScalarExprRoot = Catalog ->- IDEnv ->- LocalBindings ->- ( ScalarExprRoot ,ScalarExprRoot ,ScalarExprRoot )-data Inh_ScalarExprRoot = Inh_ScalarExprRoot {cat_Inh_ScalarExprRoot :: Catalog,idenv_Inh_ScalarExprRoot :: IDEnv,lib_Inh_ScalarExprRoot :: LocalBindings}-data Syn_ScalarExprRoot = Syn_ScalarExprRoot {annotatedTree_Syn_ScalarExprRoot :: ScalarExprRoot ,fixedUpIdentifiersTree_Syn_ScalarExprRoot :: ScalarExprRoot ,originalTree_Syn_ScalarExprRoot :: ScalarExprRoot }-wrap_ScalarExprRoot :: T_ScalarExprRoot ->- Inh_ScalarExprRoot ->- Syn_ScalarExprRoot -wrap_ScalarExprRoot sem (Inh_ScalarExprRoot _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_ScalarExprRoot _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_ScalarExprRoot_ScalarExprRoot :: T_ScalarExpr ->- T_ScalarExprRoot -sem_ScalarExprRoot_ScalarExprRoot expr_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _exprOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: ScalarExprRoot - _lhsOfixedUpIdentifiersTree :: ScalarExprRoot - _lhsOoriginalTree :: ScalarExprRoot - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _exprIannotatedTree :: ScalarExpr - _exprIfixedUpIdentifiersTree :: ScalarExpr - _exprIoriginalTree :: ScalarExpr - _exprIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 123, column 22)- _exprOexpectedType =- Nothing- -- self rule- _annotatedTree =- ScalarExprRoot _exprIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- ScalarExprRoot _exprIfixedUpIdentifiersTree- -- self rule- _originalTree =- ScalarExprRoot _exprIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- ScalarExprStatementListPair ----------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Tuple:- child x1 : ScalarExpr - child x2 : StatementList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type ScalarExprStatementListPair = ( ScalarExpr ,StatementList )--- cata-sem_ScalarExprStatementListPair :: ScalarExprStatementListPair ->- T_ScalarExprStatementListPair -sem_ScalarExprStatementListPair ( x1,x2) =- (sem_ScalarExprStatementListPair_Tuple (sem_ScalarExpr x1 ) (sem_StatementList x2 ) )--- semantic domain-type T_ScalarExprStatementListPair = Catalog ->- IDEnv ->- LocalBindings ->- ( ScalarExprStatementListPair ,ScalarExprStatementListPair ,ScalarExprStatementListPair )-data Inh_ScalarExprStatementListPair = Inh_ScalarExprStatementListPair {cat_Inh_ScalarExprStatementListPair :: Catalog,idenv_Inh_ScalarExprStatementListPair :: IDEnv,lib_Inh_ScalarExprStatementListPair :: LocalBindings}-data Syn_ScalarExprStatementListPair = Syn_ScalarExprStatementListPair {annotatedTree_Syn_ScalarExprStatementListPair :: ScalarExprStatementListPair ,fixedUpIdentifiersTree_Syn_ScalarExprStatementListPair :: ScalarExprStatementListPair ,originalTree_Syn_ScalarExprStatementListPair :: ScalarExprStatementListPair }-wrap_ScalarExprStatementListPair :: T_ScalarExprStatementListPair ->- Inh_ScalarExprStatementListPair ->- Syn_ScalarExprStatementListPair -wrap_ScalarExprStatementListPair sem (Inh_ScalarExprStatementListPair _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_ScalarExprStatementListPair _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_ScalarExprStatementListPair_Tuple :: T_ScalarExpr ->- T_StatementList ->- T_ScalarExprStatementListPair -sem_ScalarExprStatementListPair_Tuple x1_ x2_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _x2OcatUpdates :: ([CatalogUpdate])- _x2OlibUpdates :: ([LocalBindingsUpdate])- _x1OexpectedType :: (Maybe Type)- _lhsOannotatedTree :: ScalarExprStatementListPair - _lhsOfixedUpIdentifiersTree :: ScalarExprStatementListPair - _lhsOoriginalTree :: ScalarExprStatementListPair - _x1Ocat :: Catalog- _x1Oidenv :: IDEnv- _x1Olib :: LocalBindings- _x2Ocat :: Catalog- _x2Oidenv :: IDEnv- _x2Olib :: LocalBindings- _x1IannotatedTree :: ScalarExpr - _x1IfixedUpIdentifiersTree :: ScalarExpr - _x1IoriginalTree :: ScalarExpr - _x1IuType :: (Maybe Type)- _x2IannotatedTree :: StatementList - _x2IfixedUpIdentifiersTree :: StatementList - _x2IoriginalTree :: StatementList - _x2IproducedCat :: Catalog- _x2IproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 125, column 9)- _x2OcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 126, column 9)- _x2OlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 126, column 13)- _x1OexpectedType =- Nothing- -- self rule- _annotatedTree =- (_x1IannotatedTree,_x2IannotatedTree)- -- self rule- _fixedUpIdentifiersTree =- (_x1IfixedUpIdentifiersTree,_x2IfixedUpIdentifiersTree)- -- self rule- _originalTree =- (_x1IoriginalTree,_x2IoriginalTree)- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _x1Ocat =- _lhsIcat- -- copy rule (down)- _x1Oidenv =- _lhsIidenv- -- copy rule (down)- _x1Olib =- _lhsIlib- -- copy rule (down)- _x2Ocat =- _lhsIcat- -- copy rule (down)- _x2Oidenv =- _lhsIidenv- -- copy rule (down)- _x2Olib =- _lhsIlib- ( _x1IannotatedTree,_x1IfixedUpIdentifiersTree,_x1IoriginalTree,_x1IuType) =- x1_ _x1Ocat _x1OexpectedType _x1Oidenv _x1Olib - ( _x2IannotatedTree,_x2IfixedUpIdentifiersTree,_x2IoriginalTree,_x2IproducedCat,_x2IproducedLib) =- x2_ _x2Ocat _x2OcatUpdates _x2Oidenv _x2Olib _x2OlibUpdates - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- ScalarExprStatementListPairList ------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Cons:- child hd : ScalarExprStatementListPair - child tl : ScalarExprStatementListPairList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type ScalarExprStatementListPairList = [ScalarExprStatementListPair ]--- cata-sem_ScalarExprStatementListPairList :: ScalarExprStatementListPairList ->- T_ScalarExprStatementListPairList -sem_ScalarExprStatementListPairList list =- (Prelude.foldr sem_ScalarExprStatementListPairList_Cons sem_ScalarExprStatementListPairList_Nil (Prelude.map sem_ScalarExprStatementListPair list) )--- semantic domain-type T_ScalarExprStatementListPairList = Catalog ->- IDEnv ->- LocalBindings ->- ( ScalarExprStatementListPairList ,ScalarExprStatementListPairList ,ScalarExprStatementListPairList )-data Inh_ScalarExprStatementListPairList = Inh_ScalarExprStatementListPairList {cat_Inh_ScalarExprStatementListPairList :: Catalog,idenv_Inh_ScalarExprStatementListPairList :: IDEnv,lib_Inh_ScalarExprStatementListPairList :: LocalBindings}-data Syn_ScalarExprStatementListPairList = Syn_ScalarExprStatementListPairList {annotatedTree_Syn_ScalarExprStatementListPairList :: ScalarExprStatementListPairList ,fixedUpIdentifiersTree_Syn_ScalarExprStatementListPairList :: ScalarExprStatementListPairList ,originalTree_Syn_ScalarExprStatementListPairList :: ScalarExprStatementListPairList }-wrap_ScalarExprStatementListPairList :: T_ScalarExprStatementListPairList ->- Inh_ScalarExprStatementListPairList ->- Syn_ScalarExprStatementListPairList -wrap_ScalarExprStatementListPairList sem (Inh_ScalarExprStatementListPairList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_ScalarExprStatementListPairList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_ScalarExprStatementListPairList_Cons :: T_ScalarExprStatementListPair ->- T_ScalarExprStatementListPairList ->- T_ScalarExprStatementListPairList -sem_ScalarExprStatementListPairList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExprStatementListPairList - _lhsOfixedUpIdentifiersTree :: ScalarExprStatementListPairList - _lhsOoriginalTree :: ScalarExprStatementListPairList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: ScalarExprStatementListPair - _hdIfixedUpIdentifiersTree :: ScalarExprStatementListPair - _hdIoriginalTree :: ScalarExprStatementListPair - _tlIannotatedTree :: ScalarExprStatementListPairList - _tlIfixedUpIdentifiersTree :: ScalarExprStatementListPairList - _tlIoriginalTree :: ScalarExprStatementListPairList - -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_ScalarExprStatementListPairList_Nil :: T_ScalarExprStatementListPairList -sem_ScalarExprStatementListPairList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: ScalarExprStatementListPairList - _lhsOfixedUpIdentifiersTree :: ScalarExprStatementListPairList - _lhsOoriginalTree :: ScalarExprStatementListPairList - -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- SelectItem ---------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - itemType : (String,Maybe Type)- originalTree : SELF - seIdTree : [SelectItem]- alternatives:- alternative SelExp:- child ann : {Annotation}- child ex : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative SelectItem:- child ann : {Annotation}- child ex : ScalarExpr - child name : {String}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data SelectItem = SelExp (Annotation) (ScalarExpr ) - | SelectItem (Annotation) (ScalarExpr ) (String) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_SelectItem :: SelectItem ->- T_SelectItem -sem_SelectItem (SelExp _ann _ex ) =- (sem_SelectItem_SelExp _ann (sem_ScalarExpr _ex ) )-sem_SelectItem (SelectItem _ann _ex _name ) =- (sem_SelectItem_SelectItem _ann (sem_ScalarExpr _ex ) _name )--- semantic domain-type T_SelectItem = Catalog ->- IDEnv ->- LocalBindings ->- ( SelectItem ,SelectItem ,((String,Maybe Type)),SelectItem ,([SelectItem]))-data Inh_SelectItem = Inh_SelectItem {cat_Inh_SelectItem :: Catalog,idenv_Inh_SelectItem :: IDEnv,lib_Inh_SelectItem :: LocalBindings}-data Syn_SelectItem = Syn_SelectItem {annotatedTree_Syn_SelectItem :: SelectItem ,fixedUpIdentifiersTree_Syn_SelectItem :: SelectItem ,itemType_Syn_SelectItem :: ((String,Maybe Type)),originalTree_Syn_SelectItem :: SelectItem ,seIdTree_Syn_SelectItem :: ([SelectItem])}-wrap_SelectItem :: T_SelectItem ->- Inh_SelectItem ->- Syn_SelectItem -wrap_SelectItem sem (Inh_SelectItem _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOitemType,_lhsOoriginalTree,_lhsOseIdTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_SelectItem _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOitemType _lhsOoriginalTree _lhsOseIdTree ))-sem_SelectItem_SelExp :: Annotation ->- T_ScalarExpr ->- T_SelectItem -sem_SelectItem_SelExp ann_ ex_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOseIdTree :: ([SelectItem])- _lhsOitemType :: ((String,Maybe Type))- _exOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: SelectItem - _lhsOfixedUpIdentifiersTree :: SelectItem - _lhsOoriginalTree :: SelectItem - _exOcat :: Catalog- _exOidenv :: IDEnv- _exOlib :: LocalBindings- _exIannotatedTree :: ScalarExpr - _exIfixedUpIdentifiersTree :: ScalarExpr - _exIoriginalTree :: ScalarExpr - _exIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 150, column 14)- _lhsOseIdTree =- case _exIfixedUpIdentifiersTree of- Identifier a "*" -> let s = expandStar _lhsIidenv Nothing- in if null s- then [addSIAlias $ SelExp ann_ _exIfixedUpIdentifiersTree]- else makeSelExps ann_ a a s- QIdentifier a0 (Identifier a1 q) "*" ->- let s = expandStar _lhsIidenv $ Just q- in if null s- then [addSIAlias $ SelExp ann_ _exIfixedUpIdentifiersTree]- else makeSelExps ann_ a0 a1 s- _ -> [addSIAlias $ SelExp ann_ _exIfixedUpIdentifiersTree]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 32, column 9)- _annotatedTree =- SelExp ann_ _exIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 60, column 9)- _lhsOitemType =- ("", Nothing)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 106, column 25)- _exOexpectedType =- Nothing- -- self rule- _fixedUpIdentifiersTree =- SelExp ann_ _exIfixedUpIdentifiersTree- -- self rule- _originalTree =- SelExp ann_ _exIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exOcat =- _lhsIcat- -- copy rule (down)- _exOidenv =- _lhsIidenv- -- copy rule (down)- _exOlib =- _lhsIlib- ( _exIannotatedTree,_exIfixedUpIdentifiersTree,_exIoriginalTree,_exIuType) =- ex_ _exOcat _exOexpectedType _exOidenv _exOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOitemType,_lhsOoriginalTree,_lhsOseIdTree)))-sem_SelectItem_SelectItem :: Annotation ->- T_ScalarExpr ->- String ->- T_SelectItem -sem_SelectItem_SelectItem ann_ ex_ name_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOseIdTree :: ([SelectItem])- _lhsOitemType :: ((String,Maybe Type))- _exOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: SelectItem - _lhsOfixedUpIdentifiersTree :: SelectItem - _lhsOoriginalTree :: SelectItem - _exOcat :: Catalog- _exOidenv :: IDEnv- _exOlib :: LocalBindings- _exIannotatedTree :: ScalarExpr - _exIfixedUpIdentifiersTree :: ScalarExpr - _exIoriginalTree :: ScalarExpr - _exIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 163, column 18)- _lhsOseIdTree =- [SelectItem ann_ _exIfixedUpIdentifiersTree name_]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 34, column 9)- _annotatedTree =- SelectItem ann_ _exIannotatedTree name_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 62, column 9)- _lhsOitemType =- (name_, unwrapSetof `fmap` _exIuType)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 106, column 25)- _exOexpectedType =- Nothing- -- self rule- _fixedUpIdentifiersTree =- SelectItem ann_ _exIfixedUpIdentifiersTree name_- -- self rule- _originalTree =- SelectItem ann_ _exIoriginalTree name_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exOcat =- _lhsIcat- -- copy rule (down)- _exOidenv =- _lhsIidenv- -- copy rule (down)- _exOlib =- _lhsIlib- ( _exIannotatedTree,_exIfixedUpIdentifiersTree,_exIoriginalTree,_exIuType) =- ex_ _exOcat _exOexpectedType _exOidenv _exOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOitemType,_lhsOoriginalTree,_lhsOseIdTree)))--- SelectItemList -----------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - listType : [(String,Maybe Type)]- originalTree : SELF - alternatives:- alternative Cons:- child hd : SelectItem - child tl : SelectItemList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type SelectItemList = [SelectItem ]--- cata-sem_SelectItemList :: SelectItemList ->- T_SelectItemList -sem_SelectItemList list =- (Prelude.foldr sem_SelectItemList_Cons sem_SelectItemList_Nil (Prelude.map sem_SelectItem list) )--- semantic domain-type T_SelectItemList = Catalog ->- IDEnv ->- LocalBindings ->- ( SelectItemList ,SelectItemList ,([(String,Maybe Type)]),SelectItemList )-data Inh_SelectItemList = Inh_SelectItemList {cat_Inh_SelectItemList :: Catalog,idenv_Inh_SelectItemList :: IDEnv,lib_Inh_SelectItemList :: LocalBindings}-data Syn_SelectItemList = Syn_SelectItemList {annotatedTree_Syn_SelectItemList :: SelectItemList ,fixedUpIdentifiersTree_Syn_SelectItemList :: SelectItemList ,listType_Syn_SelectItemList :: ([(String,Maybe Type)]),originalTree_Syn_SelectItemList :: SelectItemList }-wrap_SelectItemList :: T_SelectItemList ->- Inh_SelectItemList ->- Syn_SelectItemList -wrap_SelectItemList sem (Inh_SelectItemList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_SelectItemList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOlistType _lhsOoriginalTree ))-sem_SelectItemList_Cons :: T_SelectItem ->- T_SelectItemList ->- T_SelectItemList -sem_SelectItemList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOfixedUpIdentifiersTree :: SelectItemList - _lhsOlistType :: ([(String,Maybe Type)])- _lhsOannotatedTree :: SelectItemList - _lhsOoriginalTree :: SelectItemList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: SelectItem - _hdIfixedUpIdentifiersTree :: SelectItem - _hdIitemType :: ((String,Maybe Type))- _hdIoriginalTree :: SelectItem - _hdIseIdTree :: ([SelectItem])- _tlIannotatedTree :: SelectItemList - _tlIfixedUpIdentifiersTree :: SelectItemList - _tlIlistType :: ([(String,Maybe Type)])- _tlIoriginalTree :: SelectItemList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 141, column 12)- _lhsOfixedUpIdentifiersTree =- _hdIseIdTree ++ _tlIfixedUpIdentifiersTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 12)- _lhsOlistType =- _hdIitemType : _tlIlistType- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIitemType,_hdIoriginalTree,_hdIseIdTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIlistType,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))-sem_SelectItemList_Nil :: T_SelectItemList -sem_SelectItemList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOfixedUpIdentifiersTree :: SelectItemList - _lhsOlistType :: ([(String,Maybe Type)])- _lhsOannotatedTree :: SelectItemList - _lhsOoriginalTree :: SelectItemList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 142, column 11)- _lhsOfixedUpIdentifiersTree =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 43, column 11)- _lhsOlistType =- []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))--- SelectList ---------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - cidenv : IDEnv- fixedUpIdentifiersTree : SELF - libUpdates : [LocalBindingsUpdate]- listType : [(String,Maybe Type)]- originalTree : SELF - alternatives:- alternative SelectList:- child ann : {Annotation}- child items : SelectItemList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data SelectList = SelectList (Annotation) (SelectItemList ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_SelectList :: SelectList ->- T_SelectList -sem_SelectList (SelectList _ann _items ) =- (sem_SelectList_SelectList _ann (sem_SelectItemList _items ) )--- semantic domain-type T_SelectList = Catalog ->- IDEnv ->- LocalBindings ->- ( SelectList ,IDEnv,SelectList ,([LocalBindingsUpdate]),([(String,Maybe Type)]),SelectList )-data Inh_SelectList = Inh_SelectList {cat_Inh_SelectList :: Catalog,idenv_Inh_SelectList :: IDEnv,lib_Inh_SelectList :: LocalBindings}-data Syn_SelectList = Syn_SelectList {annotatedTree_Syn_SelectList :: SelectList ,cidenv_Syn_SelectList :: IDEnv,fixedUpIdentifiersTree_Syn_SelectList :: SelectList ,libUpdates_Syn_SelectList :: ([LocalBindingsUpdate]),listType_Syn_SelectList :: ([(String,Maybe Type)]),originalTree_Syn_SelectList :: SelectList }-wrap_SelectList :: T_SelectList ->- Inh_SelectList ->- Syn_SelectList -wrap_SelectList sem (Inh_SelectList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOlistType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_SelectList _lhsOannotatedTree _lhsOcidenv _lhsOfixedUpIdentifiersTree _lhsOlibUpdates _lhsOlistType _lhsOoriginalTree ))-sem_SelectList_SelectList :: Annotation ->- T_SelectItemList ->- T_SelectList -sem_SelectList_SelectList ann_ items_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOcidenv :: IDEnv- _lhsOlistType :: ([(String,Maybe Type)])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: SelectList - _lhsOfixedUpIdentifiersTree :: SelectList - _lhsOoriginalTree :: SelectList - _itemsOcat :: Catalog- _itemsOidenv :: IDEnv- _itemsOlib :: LocalBindings- _itemsIannotatedTree :: SelectItemList - _itemsIfixedUpIdentifiersTree :: SelectItemList - _itemsIlistType :: ([(String,Maybe Type)])- _itemsIoriginalTree :: SelectItemList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 124, column 18)- _lhsOcidenv =- makeIDEnv "" $ flip map _itemsIfixedUpIdentifiersTree- $ \(SelectItem _ _ n) -> n- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 77, column 9)- _lhsOlistType =- _itemsIlistType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 97, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 131, column 9)- _lhsOannotatedTree =- SelectList ann_- _itemsIannotatedTree- -- self rule- _annotatedTree =- SelectList ann_ _itemsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- SelectList ann_ _itemsIfixedUpIdentifiersTree- -- self rule- _originalTree =- SelectList ann_ _itemsIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _itemsOcat =- _lhsIcat- -- copy rule (down)- _itemsOidenv =- _lhsIidenv- -- copy rule (down)- _itemsOlib =- _lhsIlib- ( _itemsIannotatedTree,_itemsIfixedUpIdentifiersTree,_itemsIlistType,_itemsIoriginalTree) =- items_ _itemsOcat _itemsOidenv _itemsOlib - in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOlistType,_lhsOoriginalTree)))--- Statement ----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- inProducedCat : Catalog- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - catUpdates : [CatalogUpdate]- fixedUpIdentifiersTree : SELF - libUpdates : [LocalBindingsUpdate]- originalTree : SELF - alternatives:- alternative AlterSequence:- child ann : {Annotation}- child name : {String}- child ownedBy : SQIdentifier - visit 0:- local libUpdates : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative AlterTable:- child ann : {Annotation}- child name : {String}- child actions : AlterTableActionList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Assignment:- child ann : {Annotation}- child target : ScalarExpr - child value : ScalarExpr - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local backTree : _- local catUpdates : {[CatalogUpdate]}- local statementType : {Maybe StatementType}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Block:- child ann : {Annotation}- child lb : {Maybe String}- child vars : VarDefList - child sts : StatementList - visit 0:- local libUpdates : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CaseStatement:- child ann : {Annotation}- child cases : ScalarExprListStatementListPairList - child els : StatementList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CaseStatementSimple:- child ann : {Annotation}- child val : ScalarExpr - child cases : ScalarExprListStatementListPairList - child els : StatementList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative ContinueStatement:- child ann : {Annotation}- child lb : {Maybe String}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Copy:- child ann : {Annotation}- child table : {String}- child targetCols : {[String]}- child source : {CopySource}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CopyData:- child ann : {Annotation}- child insData : {String}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CreateDomain:- child ann : {Annotation}- child name : {String}- child typ : TypeName - child checkName : {String}- child check : MaybeBoolExpr - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local backTree : _- local statementType : {Maybe StatementType}- local catUpdates : {[CatalogUpdate]}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CreateFunction:- child ann : {Annotation}- child name : {String}- child params : ParamDefList - child rettype : TypeName - child rep : {Replace}- child lang : {Language}- child body : FnBody - child vol : {Volatility}- visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local catUpdates : {[CatalogUpdate]}- local backTree : _- local statementType : {Maybe StatementType}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CreateLanguage:- child ann : {Annotation}- child name : {String}- visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local backTree : _- local statementType : {Maybe StatementType}- local catUpdates : {[CatalogUpdate]}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CreateSequence:- child ann : {Annotation}- child name : {String}- child incr : {Integer}- child min : {Integer}- child max : {Integer}- child start : {Integer}- child cache : {Integer}- visit 0:- local libUpdates : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CreateTable:- child ann : {Annotation}- child name : {String}- child atts : AttributeDefList - child cons : ConstraintList - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local catUpdates : {[CatalogUpdate]}- local attrs : {[(String,Type)]}- local statementType : {Maybe StatementType}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CreateTableAs:- child ann : {Annotation}- child name : {String}- child expr : QueryExpr - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local catUpdates : {[CatalogUpdate]}- local attrs : {Either [TypeError] [(String,Type)]}- local backTree : _- local statementType : {Maybe StatementType}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CreateTrigger:- child ann : {Annotation}- child name : {String}- child wh : {TriggerWhen}- child events : {[TriggerEvent]}- child tbl : {String}- child firing : {TriggerFire}- child fnName : {String}- child fnArgs : ScalarExprList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CreateType:- child ann : {Annotation}- child name : {String}- child atts : TypeAttributeDefList - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local attrs : _- local backTree : _- local statementType : {Maybe StatementType}- local catUpdates : {[CatalogUpdate]}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative CreateView:- child ann : {Annotation}- child name : {String}- child colNames : {Maybe [String]}- child expr : QueryExpr - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local backTree : _- local catUpdates : {[CatalogUpdate]}- local statementType : {Maybe StatementType}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Delete:- child ann : {Annotation}- child table : SQIdentifier - child using : TableRefList - child whr : MaybeBoolExpr - child returning : MaybeSelectList - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local statementType : {Maybe StatementType}- local backTree : _- local catUpdates : {[CatalogUpdate]}- local lib : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative DropFunction:- child ann : {Annotation}- child ifE : {IfExists}- child sigs : StringTypeNameListPairList - child cascade : {Cascade}- visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local backTree : _- local catUpdates : {[CatalogUpdate]}- local statementType : {Maybe StatementType}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative DropSomething:- child ann : {Annotation}- child dropType : {DropType}- child ifE : {IfExists}- child names : {[String]}- child cascade : {Cascade}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Execute:- child ann : {Annotation}- child expr : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative ExitStatement:- child ann : {Annotation}- child lb : {Maybe String}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative ForIntegerStatement:- child ann : {Annotation}- child lb : {Maybe String}- child var : ScalarExpr - child from : ScalarExpr - child to : ScalarExpr - child sts : StatementList - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local implicitVar : _- local backTree : _- local catUpdates : {[CatalogUpdate]}- local statementType : {Maybe StatementType}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative ForQueryStatement:- child ann : {Annotation}- child lb : {Maybe String}- child var : ScalarExpr - child sel : QueryExpr - child sts : StatementList - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local backTree : _- local catUpdates : {[CatalogUpdate]}- local statementType : {Maybe StatementType}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative If:- child ann : {Annotation}- child cases : ScalarExprStatementListPairList - child els : StatementList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Insert:- child ann : {Annotation}- child table : SQIdentifier - child targetCols : {[String]}- child insData : QueryExpr - child returning : MaybeSelectList - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local statementType : {Maybe StatementType}- local columnTypes : {Either [TypeError] [(String,Type)]}- local backTree : _- local catUpdates : {[CatalogUpdate]}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Into:- child ann : {Annotation}- child strict : {Bool}- child into : ScalarExprList - child stmt : Statement - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative LoopStatement:- child ann : {Annotation}- child lb : {Maybe String}- child sts : StatementList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Notify:- child ann : {Annotation}- child name : {String}- visit 0:- local libUpdates : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative NullStatement:- child ann : {Annotation}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Perform:- child ann : {Annotation}- child expr : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative QueryStatement:- child ann : {Annotation}- child ex : QueryExpr - visit 0:- local tpe : {Either [TypeError] Type}- local statementType : {Maybe StatementType}- local backTree : _- local catUpdates : {[CatalogUpdate]}- local libUpdates : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Raise:- child ann : {Annotation}- child level : {RaiseType}- child message : {String}- child args : ScalarExprList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Return:- child ann : {Annotation}- child value : MaybeScalarExpr - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local backTree : _- local catUpdates : {[CatalogUpdate]}- local statementType : {Maybe StatementType}- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative ReturnNext:- child ann : {Annotation}- child expr : ScalarExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative ReturnQuery:- child ann : {Annotation}- child sel : QueryExpr - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Set:- child ann : {Annotation}- child name : {String}- child values : {[SetValue]}- visit 0:- local libUpdates : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Truncate:- child ann : {Annotation}- child tables : {[String]}- child restartIdentity : {RestartIdentity}- child cascade : {Cascade}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Update:- child ann : {Annotation}- child table : SQIdentifier - child assigns : ScalarExprList - child fromList : TableRefList - child whr : MaybeBoolExpr - child returning : MaybeSelectList - visit 0:- local libUpdates : _- local tpe : {Either [TypeError] Type}- local statementType : {Maybe StatementType}- local backTree : _- local catUpdates : {[CatalogUpdate]}- local lib : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative WhileStatement:- child ann : {Annotation}- child lb : {Maybe String}- child expr : ScalarExpr - child sts : StatementList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data Statement = AlterSequence (Annotation) (String) (SQIdentifier ) - | AlterTable (Annotation) (String) (AlterTableActionList ) - | Assignment (Annotation) (ScalarExpr ) (ScalarExpr ) - | Block (Annotation) ((Maybe String)) (VarDefList ) (StatementList ) - | CaseStatement (Annotation) (ScalarExprListStatementListPairList ) (StatementList ) - | CaseStatementSimple (Annotation) (ScalarExpr ) (ScalarExprListStatementListPairList ) (StatementList ) - | ContinueStatement (Annotation) ((Maybe String)) - | Copy (Annotation) (String) (([String])) (CopySource) - | CopyData (Annotation) (String) - | CreateDomain (Annotation) (String) (TypeName ) (String) (MaybeBoolExpr ) - | CreateFunction (Annotation) (String) (ParamDefList ) (TypeName ) (Replace) (Language) (FnBody ) (Volatility) - | CreateLanguage (Annotation) (String) - | CreateSequence (Annotation) (String) (Integer) (Integer) (Integer) (Integer) (Integer) - | CreateTable (Annotation) (String) (AttributeDefList ) (ConstraintList ) - | CreateTableAs (Annotation) (String) (QueryExpr ) - | CreateTrigger (Annotation) (String) (TriggerWhen) (([TriggerEvent])) (String) (TriggerFire) (String) (ScalarExprList ) - | CreateType (Annotation) (String) (TypeAttributeDefList ) - | CreateView (Annotation) (String) ((Maybe [String])) (QueryExpr ) - | Delete (Annotation) (SQIdentifier ) (TableRefList ) (MaybeBoolExpr ) (MaybeSelectList ) - | DropFunction (Annotation) (IfExists) (StringTypeNameListPairList ) (Cascade) - | DropSomething (Annotation) (DropType) (IfExists) (([String])) (Cascade) - | Execute (Annotation) (ScalarExpr ) - | ExitStatement (Annotation) ((Maybe String)) - | ForIntegerStatement (Annotation) ((Maybe String)) (ScalarExpr ) (ScalarExpr ) (ScalarExpr ) (StatementList ) - | ForQueryStatement (Annotation) ((Maybe String)) (ScalarExpr ) (QueryExpr ) (StatementList ) - | If (Annotation) (ScalarExprStatementListPairList ) (StatementList ) - | Insert (Annotation) (SQIdentifier ) (([String])) (QueryExpr ) (MaybeSelectList ) - | Into (Annotation) (Bool) (ScalarExprList ) (Statement ) - | LoopStatement (Annotation) ((Maybe String)) (StatementList ) - | Notify (Annotation) (String) - | NullStatement (Annotation) - | Perform (Annotation) (ScalarExpr ) - | QueryStatement (Annotation) (QueryExpr ) - | Raise (Annotation) (RaiseType) (String) (ScalarExprList ) - | Return (Annotation) (MaybeScalarExpr ) - | ReturnNext (Annotation) (ScalarExpr ) - | ReturnQuery (Annotation) (QueryExpr ) - | Set (Annotation) (String) (([SetValue])) - | Truncate (Annotation) (([String])) (RestartIdentity) (Cascade) - | Update (Annotation) (SQIdentifier ) (ScalarExprList ) (TableRefList ) (MaybeBoolExpr ) (MaybeSelectList ) - | WhileStatement (Annotation) ((Maybe String)) (ScalarExpr ) (StatementList ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_Statement :: Statement ->- T_Statement -sem_Statement (AlterSequence _ann _name _ownedBy ) =- (sem_Statement_AlterSequence _ann _name (sem_SQIdentifier _ownedBy ) )-sem_Statement (AlterTable _ann _name _actions ) =- (sem_Statement_AlterTable _ann _name (sem_AlterTableActionList _actions ) )-sem_Statement (Assignment _ann _target _value ) =- (sem_Statement_Assignment _ann (sem_ScalarExpr _target ) (sem_ScalarExpr _value ) )-sem_Statement (Block _ann _lb _vars _sts ) =- (sem_Statement_Block _ann _lb (sem_VarDefList _vars ) (sem_StatementList _sts ) )-sem_Statement (CaseStatement _ann _cases _els ) =- (sem_Statement_CaseStatement _ann (sem_ScalarExprListStatementListPairList _cases ) (sem_StatementList _els ) )-sem_Statement (CaseStatementSimple _ann _val _cases _els ) =- (sem_Statement_CaseStatementSimple _ann (sem_ScalarExpr _val ) (sem_ScalarExprListStatementListPairList _cases ) (sem_StatementList _els ) )-sem_Statement (ContinueStatement _ann _lb ) =- (sem_Statement_ContinueStatement _ann _lb )-sem_Statement (Copy _ann _table _targetCols _source ) =- (sem_Statement_Copy _ann _table _targetCols _source )-sem_Statement (CopyData _ann _insData ) =- (sem_Statement_CopyData _ann _insData )-sem_Statement (CreateDomain _ann _name _typ _checkName _check ) =- (sem_Statement_CreateDomain _ann _name (sem_TypeName _typ ) _checkName (sem_MaybeBoolExpr _check ) )-sem_Statement (CreateFunction _ann _name _params _rettype _rep _lang _body _vol ) =- (sem_Statement_CreateFunction _ann _name (sem_ParamDefList _params ) (sem_TypeName _rettype ) _rep _lang (sem_FnBody _body ) _vol )-sem_Statement (CreateLanguage _ann _name ) =- (sem_Statement_CreateLanguage _ann _name )-sem_Statement (CreateSequence _ann _name _incr _min _max _start _cache ) =- (sem_Statement_CreateSequence _ann _name _incr _min _max _start _cache )-sem_Statement (CreateTable _ann _name _atts _cons ) =- (sem_Statement_CreateTable _ann _name (sem_AttributeDefList _atts ) (sem_ConstraintList _cons ) )-sem_Statement (CreateTableAs _ann _name _expr ) =- (sem_Statement_CreateTableAs _ann _name (sem_QueryExpr _expr ) )-sem_Statement (CreateTrigger _ann _name _wh _events _tbl _firing _fnName _fnArgs ) =- (sem_Statement_CreateTrigger _ann _name _wh _events _tbl _firing _fnName (sem_ScalarExprList _fnArgs ) )-sem_Statement (CreateType _ann _name _atts ) =- (sem_Statement_CreateType _ann _name (sem_TypeAttributeDefList _atts ) )-sem_Statement (CreateView _ann _name _colNames _expr ) =- (sem_Statement_CreateView _ann _name _colNames (sem_QueryExpr _expr ) )-sem_Statement (Delete _ann _table _using _whr _returning ) =- (sem_Statement_Delete _ann (sem_SQIdentifier _table ) (sem_TableRefList _using ) (sem_MaybeBoolExpr _whr ) (sem_MaybeSelectList _returning ) )-sem_Statement (DropFunction _ann _ifE _sigs _cascade ) =- (sem_Statement_DropFunction _ann _ifE (sem_StringTypeNameListPairList _sigs ) _cascade )-sem_Statement (DropSomething _ann _dropType _ifE _names _cascade ) =- (sem_Statement_DropSomething _ann _dropType _ifE _names _cascade )-sem_Statement (Execute _ann _expr ) =- (sem_Statement_Execute _ann (sem_ScalarExpr _expr ) )-sem_Statement (ExitStatement _ann _lb ) =- (sem_Statement_ExitStatement _ann _lb )-sem_Statement (ForIntegerStatement _ann _lb _var _from _to _sts ) =- (sem_Statement_ForIntegerStatement _ann _lb (sem_ScalarExpr _var ) (sem_ScalarExpr _from ) (sem_ScalarExpr _to ) (sem_StatementList _sts ) )-sem_Statement (ForQueryStatement _ann _lb _var _sel _sts ) =- (sem_Statement_ForQueryStatement _ann _lb (sem_ScalarExpr _var ) (sem_QueryExpr _sel ) (sem_StatementList _sts ) )-sem_Statement (If _ann _cases _els ) =- (sem_Statement_If _ann (sem_ScalarExprStatementListPairList _cases ) (sem_StatementList _els ) )-sem_Statement (Insert _ann _table _targetCols _insData _returning ) =- (sem_Statement_Insert _ann (sem_SQIdentifier _table ) _targetCols (sem_QueryExpr _insData ) (sem_MaybeSelectList _returning ) )-sem_Statement (Into _ann _strict _into _stmt ) =- (sem_Statement_Into _ann _strict (sem_ScalarExprList _into ) (sem_Statement _stmt ) )-sem_Statement (LoopStatement _ann _lb _sts ) =- (sem_Statement_LoopStatement _ann _lb (sem_StatementList _sts ) )-sem_Statement (Notify _ann _name ) =- (sem_Statement_Notify _ann _name )-sem_Statement (NullStatement _ann ) =- (sem_Statement_NullStatement _ann )-sem_Statement (Perform _ann _expr ) =- (sem_Statement_Perform _ann (sem_ScalarExpr _expr ) )-sem_Statement (QueryStatement _ann _ex ) =- (sem_Statement_QueryStatement _ann (sem_QueryExpr _ex ) )-sem_Statement (Raise _ann _level _message _args ) =- (sem_Statement_Raise _ann _level _message (sem_ScalarExprList _args ) )-sem_Statement (Return _ann _value ) =- (sem_Statement_Return _ann (sem_MaybeScalarExpr _value ) )-sem_Statement (ReturnNext _ann _expr ) =- (sem_Statement_ReturnNext _ann (sem_ScalarExpr _expr ) )-sem_Statement (ReturnQuery _ann _sel ) =- (sem_Statement_ReturnQuery _ann (sem_QueryExpr _sel ) )-sem_Statement (Set _ann _name _values ) =- (sem_Statement_Set _ann _name _values )-sem_Statement (Truncate _ann _tables _restartIdentity _cascade ) =- (sem_Statement_Truncate _ann _tables _restartIdentity _cascade )-sem_Statement (Update _ann _table _assigns _fromList _whr _returning ) =- (sem_Statement_Update _ann (sem_SQIdentifier _table ) (sem_ScalarExprList _assigns ) (sem_TableRefList _fromList ) (sem_MaybeBoolExpr _whr ) (sem_MaybeSelectList _returning ) )-sem_Statement (WhileStatement _ann _lb _expr _sts ) =- (sem_Statement_WhileStatement _ann _lb (sem_ScalarExpr _expr ) (sem_StatementList _sts ) )--- semantic domain-type T_Statement = Catalog ->- IDEnv ->- Catalog ->- LocalBindings ->- ( Statement ,([CatalogUpdate]),Statement ,([LocalBindingsUpdate]),Statement )-data Inh_Statement = Inh_Statement {cat_Inh_Statement :: Catalog,idenv_Inh_Statement :: IDEnv,inProducedCat_Inh_Statement :: Catalog,lib_Inh_Statement :: LocalBindings}-data Syn_Statement = Syn_Statement {annotatedTree_Syn_Statement :: Statement ,catUpdates_Syn_Statement :: ([CatalogUpdate]),fixedUpIdentifiersTree_Syn_Statement :: Statement ,libUpdates_Syn_Statement :: ([LocalBindingsUpdate]),originalTree_Syn_Statement :: Statement }-wrap_Statement :: T_Statement ->- Inh_Statement ->- Syn_Statement -wrap_Statement sem (Inh_Statement _lhsIcat _lhsIidenv _lhsIinProducedCat _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIinProducedCat _lhsIlib - in (Syn_Statement _lhsOannotatedTree _lhsOcatUpdates _lhsOfixedUpIdentifiersTree _lhsOlibUpdates _lhsOoriginalTree ))-sem_Statement_AlterSequence :: Annotation ->- String ->- T_SQIdentifier ->- T_Statement -sem_Statement_AlterSequence ann_ name_ ownedBy_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _ownedByOcat :: Catalog- _ownedByOidenv :: IDEnv- _ownedByOlib :: LocalBindings- _ownedByIannotatedTree :: SQIdentifier - _ownedByIfixedUpIdentifiersTree :: SQIdentifier - _ownedByIoriginalTree :: SQIdentifier - _ownedByItbAnnotatedTree :: SQIdentifier - _ownedByItbUType :: (Maybe ([(String,Type)],[(String,Type)]))- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- AlterSequence ann_ name_ _ownedByIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- AlterSequence ann_ name_ _ownedByIfixedUpIdentifiersTree- -- self rule- _originalTree =- AlterSequence ann_ name_ _ownedByIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _ownedByOcat =- _lhsIcat- -- copy rule (down)- _ownedByOidenv =- _lhsIidenv- -- copy rule (down)- _ownedByOlib =- _lhsIlib- ( _ownedByIannotatedTree,_ownedByIfixedUpIdentifiersTree,_ownedByIoriginalTree,_ownedByItbAnnotatedTree,_ownedByItbUType) =- ownedBy_ _ownedByOcat _ownedByOidenv _ownedByOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_AlterTable :: Annotation ->- String ->- T_AlterTableActionList ->- T_Statement -sem_Statement_AlterTable ann_ name_ actions_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _actionsOcat :: Catalog- _actionsOidenv :: IDEnv- _actionsOlib :: LocalBindings- _actionsIannotatedTree :: AlterTableActionList - _actionsIfixedUpIdentifiersTree :: AlterTableActionList - _actionsIoriginalTree :: AlterTableActionList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- AlterTable ann_ name_ _actionsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- AlterTable ann_ name_ _actionsIfixedUpIdentifiersTree- -- self rule- _originalTree =- AlterTable ann_ name_ _actionsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _actionsOcat =- _lhsIcat- -- copy rule (down)- _actionsOidenv =- _lhsIidenv- -- copy rule (down)- _actionsOlib =- _lhsIlib- ( _actionsIannotatedTree,_actionsIfixedUpIdentifiersTree,_actionsIoriginalTree) =- actions_ _actionsOcat _actionsOidenv _actionsOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Assignment :: Annotation ->- T_ScalarExpr ->- T_ScalarExpr ->- T_Statement -sem_Statement_Assignment ann_ target_ value_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _catUpdates :: ([CatalogUpdate])- _statementType :: (Maybe StatementType)- _valueOexpectedType :: (Maybe Type)- _targetOexpectedType :: (Maybe Type)- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _targetOcat :: Catalog- _targetOidenv :: IDEnv- _targetOlib :: LocalBindings- _valueOcat :: Catalog- _valueOidenv :: IDEnv- _valueOlib :: LocalBindings- _targetIannotatedTree :: ScalarExpr - _targetIfixedUpIdentifiersTree :: ScalarExpr - _targetIoriginalTree :: ScalarExpr - _targetIuType :: (Maybe Type)- _valueIannotatedTree :: ScalarExpr - _valueIfixedUpIdentifiersTree :: ScalarExpr - _valueIoriginalTree :: ScalarExpr - _valueIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 20, column 9)- _tpe =- do- fromType <- lmt _valueIuType- toType <- lmt _targetIuType- checkAssignmentValid _lhsIcat fromType toType- return $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 26, column 9)- _backTree =- Assignment ann_ _targetIannotatedTree _valueIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 27, column 9)- _catUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 28, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 109, column 18)- _valueOexpectedType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 115, column 18)- _targetOexpectedType =- Nothing- -- self rule- _annotatedTree =- Assignment ann_ _targetIannotatedTree _valueIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Assignment ann_ _targetIfixedUpIdentifiersTree _valueIfixedUpIdentifiersTree- -- self rule- _originalTree =- Assignment ann_ _targetIoriginalTree _valueIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _targetOcat =- _lhsIcat- -- copy rule (down)- _targetOidenv =- _lhsIidenv- -- copy rule (down)- _targetOlib =- _lhsIlib- -- copy rule (down)- _valueOcat =- _lhsIcat- -- copy rule (down)- _valueOidenv =- _lhsIidenv- -- copy rule (down)- _valueOlib =- _lhsIlib- ( _targetIannotatedTree,_targetIfixedUpIdentifiersTree,_targetIoriginalTree,_targetIuType) =- target_ _targetOcat _targetOexpectedType _targetOidenv _targetOlib - ( _valueIannotatedTree,_valueIfixedUpIdentifiersTree,_valueIoriginalTree,_valueIuType) =- value_ _valueOcat _valueOexpectedType _valueOidenv _valueOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Block :: Annotation ->- (Maybe String) ->- T_VarDefList ->- T_StatementList ->- T_Statement -sem_Statement_Block ann_ lb_ vars_ sts_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _stsOcatUpdates :: ([CatalogUpdate])- _stsOlib :: LocalBindings- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _lhsOlibUpdates :: ([LocalBindingsUpdate])- _varsOcat :: Catalog- _varsOidenv :: IDEnv- _varsOlib :: LocalBindings- _stsOcat :: Catalog- _stsOidenv :: IDEnv- _stsOlibUpdates :: ([LocalBindingsUpdate])- _varsIannotatedTree :: VarDefList - _varsIdefs :: ([(String,Maybe Type)])- _varsIfixedUpIdentifiersTree :: VarDefList - _varsIoriginalTree :: VarDefList - _stsIannotatedTree :: StatementList - _stsIfixedUpIdentifiersTree :: StatementList - _stsIoriginalTree :: StatementList - _stsIproducedCat :: Catalog- _stsIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 100, column 13)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 101, column 13)- _stsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 22, column 9)- _stsOlib =- fromRight _lhsIlib $- lbUpdate _lhsIcat- (LBIds "declarations" lb_ $ mapMaybe lv _varsIdefs)- _lhsIlib- where- lv (_,Nothing) = Nothing- lv (s,Just t) = Just (s,t)- -- self rule- _annotatedTree =- Block ann_ lb_ _varsIannotatedTree _stsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Block ann_ lb_ _varsIfixedUpIdentifiersTree _stsIfixedUpIdentifiersTree- -- self rule- _originalTree =- Block ann_ lb_ _varsIoriginalTree _stsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (from local)- _lhsOlibUpdates =- _libUpdates- -- copy rule (down)- _varsOcat =- _lhsIcat- -- copy rule (down)- _varsOidenv =- _lhsIidenv- -- copy rule (down)- _varsOlib =- _lhsIlib- -- copy rule (down)- _stsOcat =- _lhsIcat- -- copy rule (down)- _stsOidenv =- _lhsIidenv- -- copy rule (from local)- _stsOlibUpdates =- _libUpdates- ( _varsIannotatedTree,_varsIdefs,_varsIfixedUpIdentifiersTree,_varsIoriginalTree) =- vars_ _varsOcat _varsOidenv _varsOlib - ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =- sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CaseStatement :: Annotation ->- T_ScalarExprListStatementListPairList ->- T_StatementList ->- T_Statement -sem_Statement_CaseStatement ann_ cases_ els_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _elsOcatUpdates :: ([CatalogUpdate])- _elsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _casesOcat :: Catalog- _casesOidenv :: IDEnv- _casesOlib :: LocalBindings- _elsOcat :: Catalog- _elsOidenv :: IDEnv- _elsOlib :: LocalBindings- _casesIannotatedTree :: ScalarExprListStatementListPairList - _casesIfixedUpIdentifiersTree :: ScalarExprListStatementListPairList - _casesIoriginalTree :: ScalarExprListStatementListPairList - _elsIannotatedTree :: StatementList - _elsIfixedUpIdentifiersTree :: StatementList - _elsIoriginalTree :: StatementList - _elsIproducedCat :: Catalog- _elsIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 134, column 9)- _elsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 135, column 9)- _elsOlibUpdates =- []- -- self rule- _annotatedTree =- CaseStatement ann_ _casesIannotatedTree _elsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CaseStatement ann_ _casesIfixedUpIdentifiersTree _elsIfixedUpIdentifiersTree- -- self rule- _originalTree =- CaseStatement ann_ _casesIoriginalTree _elsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _casesOcat =- _lhsIcat- -- copy rule (down)- _casesOidenv =- _lhsIidenv- -- copy rule (down)- _casesOlib =- _lhsIlib- -- copy rule (down)- _elsOcat =- _lhsIcat- -- copy rule (down)- _elsOidenv =- _lhsIidenv- -- copy rule (down)- _elsOlib =- _lhsIlib- ( _casesIannotatedTree,_casesIfixedUpIdentifiersTree,_casesIoriginalTree) =- cases_ _casesOcat _casesOidenv _casesOlib - ( _elsIannotatedTree,_elsIfixedUpIdentifiersTree,_elsIoriginalTree,_elsIproducedCat,_elsIproducedLib) =- els_ _elsOcat _elsOcatUpdates _elsOidenv _elsOlib _elsOlibUpdates - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CaseStatementSimple :: Annotation ->- T_ScalarExpr ->- T_ScalarExprListStatementListPairList ->- T_StatementList ->- T_Statement -sem_Statement_CaseStatementSimple ann_ val_ cases_ els_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _elsOcatUpdates :: ([CatalogUpdate])- _elsOlibUpdates :: ([LocalBindingsUpdate])- _valOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _valOcat :: Catalog- _valOidenv :: IDEnv- _valOlib :: LocalBindings- _casesOcat :: Catalog- _casesOidenv :: IDEnv- _casesOlib :: LocalBindings- _elsOcat :: Catalog- _elsOidenv :: IDEnv- _elsOlib :: LocalBindings- _valIannotatedTree :: ScalarExpr - _valIfixedUpIdentifiersTree :: ScalarExpr - _valIoriginalTree :: ScalarExpr - _valIuType :: (Maybe Type)- _casesIannotatedTree :: ScalarExprListStatementListPairList - _casesIfixedUpIdentifiersTree :: ScalarExprListStatementListPairList - _casesIoriginalTree :: ScalarExprListStatementListPairList - _elsIannotatedTree :: StatementList - _elsIfixedUpIdentifiersTree :: StatementList - _elsIoriginalTree :: StatementList - _elsIproducedCat :: Catalog- _elsIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 134, column 9)- _elsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 135, column 9)- _elsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 110, column 27)- _valOexpectedType =- Nothing- -- self rule- _annotatedTree =- CaseStatementSimple ann_ _valIannotatedTree _casesIannotatedTree _elsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CaseStatementSimple ann_ _valIfixedUpIdentifiersTree _casesIfixedUpIdentifiersTree _elsIfixedUpIdentifiersTree- -- self rule- _originalTree =- CaseStatementSimple ann_ _valIoriginalTree _casesIoriginalTree _elsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _valOcat =- _lhsIcat- -- copy rule (down)- _valOidenv =- _lhsIidenv- -- copy rule (down)- _valOlib =- _lhsIlib- -- copy rule (down)- _casesOcat =- _lhsIcat- -- copy rule (down)- _casesOidenv =- _lhsIidenv- -- copy rule (down)- _casesOlib =- _lhsIlib- -- copy rule (down)- _elsOcat =- _lhsIcat- -- copy rule (down)- _elsOidenv =- _lhsIidenv- -- copy rule (down)- _elsOlib =- _lhsIlib- ( _valIannotatedTree,_valIfixedUpIdentifiersTree,_valIoriginalTree,_valIuType) =- val_ _valOcat _valOexpectedType _valOidenv _valOlib - ( _casesIannotatedTree,_casesIfixedUpIdentifiersTree,_casesIoriginalTree) =- cases_ _casesOcat _casesOidenv _casesOlib - ( _elsIannotatedTree,_elsIfixedUpIdentifiersTree,_elsIoriginalTree,_elsIproducedCat,_elsIproducedLib) =- els_ _elsOcat _elsOcatUpdates _elsOidenv _elsOlib _elsOlibUpdates - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_ContinueStatement :: Annotation ->- (Maybe String) ->- T_Statement -sem_Statement_ContinueStatement ann_ lb_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- ContinueStatement ann_ lb_- -- self rule- _fixedUpIdentifiersTree =- ContinueStatement ann_ lb_- -- self rule- _originalTree =- ContinueStatement ann_ lb_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Copy :: Annotation ->- String ->- ([String]) ->- CopySource ->- T_Statement -sem_Statement_Copy ann_ table_ targetCols_ source_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- Copy ann_ table_ targetCols_ source_- -- self rule- _fixedUpIdentifiersTree =- Copy ann_ table_ targetCols_ source_- -- self rule- _originalTree =- Copy ann_ table_ targetCols_ source_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CopyData :: Annotation ->- String ->- T_Statement -sem_Statement_CopyData ann_ insData_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- CopyData ann_ insData_- -- self rule- _fixedUpIdentifiersTree =- CopyData ann_ insData_- -- self rule- _originalTree =- CopyData ann_ insData_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CreateDomain :: Annotation ->- String ->- T_TypeName ->- String ->- T_MaybeBoolExpr ->- T_Statement -sem_Statement_CreateDomain ann_ name_ typ_ checkName_ check_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _statementType :: (Maybe StatementType)- _catUpdates :: ([CatalogUpdate])- _checkOlib :: LocalBindings- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _typOcat :: Catalog- _typOidenv :: IDEnv- _typOlib :: LocalBindings- _checkOcat :: Catalog- _checkOidenv :: IDEnv- _typIannotatedTree :: TypeName - _typIfixedUpIdentifiersTree :: TypeName - _typInamedType :: (Maybe Type)- _typIoriginalTree :: TypeName - _checkIannotatedTree :: MaybeBoolExpr - _checkIfixedUpIdentifiersTree :: MaybeBoolExpr - _checkIoriginalTree :: MaybeBoolExpr - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 65, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 66, column 9)- _backTree =- CreateDomain ann_ name_ _typIannotatedTree checkName_ _checkIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 67, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 68, column 9)- _catUpdates =- maybe [] (\t -> [CatCreateDomain (DomainType name_) t]) _typInamedType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 70, column 9)- _checkOlib =- either (const _lhsIlib) id $ do- nt <- lmt _typInamedType- lbUpdate _lhsIcat- (LBIds "domain check value" Nothing [("value", nt)])- _lhsIlib- -- self rule- _annotatedTree =- CreateDomain ann_ name_ _typIannotatedTree checkName_ _checkIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CreateDomain ann_ name_ _typIfixedUpIdentifiersTree checkName_ _checkIfixedUpIdentifiersTree- -- self rule- _originalTree =- CreateDomain ann_ name_ _typIoriginalTree checkName_ _checkIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _typOcat =- _lhsIcat- -- copy rule (down)- _typOidenv =- _lhsIidenv- -- copy rule (down)- _typOlib =- _lhsIlib- -- copy rule (down)- _checkOcat =- _lhsIcat- -- copy rule (down)- _checkOidenv =- _lhsIidenv- ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOidenv _typOlib - ( _checkIannotatedTree,_checkIfixedUpIdentifiersTree,_checkIoriginalTree) =- check_ _checkOcat _checkOidenv _checkOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CreateFunction :: Annotation ->- String ->- T_ParamDefList ->- T_TypeName ->- Replace ->- Language ->- T_FnBody ->- Volatility ->- T_Statement -sem_Statement_CreateFunction ann_ name_ params_ rettype_ rep_ lang_ body_ vol_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _bodyOlib :: LocalBindings- _paramsOpos :: Int- _tpe :: (Either [TypeError] Type)- _catUpdates :: ([CatalogUpdate])- _statementType :: (Maybe StatementType)- _bodyOcat :: Catalog- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _paramsOcat :: Catalog- _paramsOidenv :: IDEnv- _paramsOlib :: LocalBindings- _rettypeOcat :: Catalog- _rettypeOidenv :: IDEnv- _rettypeOlib :: LocalBindings- _bodyOidenv :: IDEnv- _paramsIannotatedTree :: ParamDefList - _paramsIfixedUpIdentifiersTree :: ParamDefList - _paramsIoriginalTree :: ParamDefList - _paramsIparams :: ([(ParamName, Maybe Type)])- _rettypeIannotatedTree :: TypeName - _rettypeIfixedUpIdentifiersTree :: TypeName - _rettypeInamedType :: (Maybe Type)- _rettypeIoriginalTree :: TypeName - _bodyIannotatedTree :: FnBody - _bodyIfixedUpIdentifiersTree :: FnBody - _bodyIoriginalTree :: FnBody - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 63, column 9)- _bodyOlib =- either (const _lhsIlib) id $ do- _ <- lmt _rettypeInamedType- lbUpdate _lhsIcat (LBIds (name_ ++ " parameters") (Just name_) paramsNoPos) _lhsIlib- >>= lbUpdate _lhsIcat (LBIds (name_ ++ " parameters") Nothing paramsPosOnly)- where- paramsPosOnly :: [(String,Type)]- paramsPosOnly = mapMaybe prm _paramsIparams- prm :: (ParamName,Maybe Type) -> Maybe (String,Type)- prm (NamedParam p _,Just t) = Just ("$" ++ show p, t)- prm (UnnamedParam p,Just t) = Just ("$" ++ show p, t)- prm _ = Nothing- paramsNoPos :: [(String,Type)]- paramsNoPos = mapMaybe pnp _paramsIparams- pnp :: (ParamName,Maybe Type) -> Maybe (String,Type)- pnp (NamedParam _ n,Just t) = Just (n,t)- pnp _ = Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 79, column 9)- _paramsOpos =- 1- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 88, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 89, column 9)- _catUpdates =- either (const []) id $ do- let ps = mapMaybe lpt _paramsIparams- rt <- lmt _rettypeInamedType- return [CatCreateFunction FunName- (map toLower name_)- ps- rt- False]- where- lpt (_,Just t) = Just t- lpt _ = Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 101, column 9)- _backTree =- CreateFunction ann_- name_- _paramsIannotatedTree- _rettypeIannotatedTree- rep_- lang_- _bodyIannotatedTree- vol_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 109, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 110, column 9)- _bodyOcat =- _lhsIinProducedCat- -- self rule- _annotatedTree =- CreateFunction ann_ name_ _paramsIannotatedTree _rettypeIannotatedTree rep_ lang_ _bodyIannotatedTree vol_- -- self rule- _fixedUpIdentifiersTree =- CreateFunction ann_ name_ _paramsIfixedUpIdentifiersTree _rettypeIfixedUpIdentifiersTree rep_ lang_ _bodyIfixedUpIdentifiersTree vol_- -- self rule- _originalTree =- CreateFunction ann_ name_ _paramsIoriginalTree _rettypeIoriginalTree rep_ lang_ _bodyIoriginalTree vol_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _paramsOcat =- _lhsIcat- -- copy rule (down)- _paramsOidenv =- _lhsIidenv- -- copy rule (down)- _paramsOlib =- _lhsIlib- -- copy rule (down)- _rettypeOcat =- _lhsIcat- -- copy rule (down)- _rettypeOidenv =- _lhsIidenv- -- copy rule (down)- _rettypeOlib =- _lhsIlib- -- copy rule (down)- _bodyOidenv =- _lhsIidenv- ( _paramsIannotatedTree,_paramsIfixedUpIdentifiersTree,_paramsIoriginalTree,_paramsIparams) =- params_ _paramsOcat _paramsOidenv _paramsOlib _paramsOpos - ( _rettypeIannotatedTree,_rettypeIfixedUpIdentifiersTree,_rettypeInamedType,_rettypeIoriginalTree) =- rettype_ _rettypeOcat _rettypeOidenv _rettypeOlib - ( _bodyIannotatedTree,_bodyIfixedUpIdentifiersTree,_bodyIoriginalTree) =- body_ _bodyOcat _bodyOidenv _bodyOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CreateLanguage :: Annotation ->- String ->- T_Statement -sem_Statement_CreateLanguage ann_ name_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _statementType :: (Maybe StatementType)- _catUpdates :: ([CatalogUpdate])- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 78, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 79, column 9)- _backTree =- CreateLanguage ann_ name_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 80, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 81, column 9)- _catUpdates =- [CatCreateFunction FunName "plpgsql_call_handler" [] (Pseudo LanguageHandler) False- ,CatCreateFunction FunName "plpgsql_validator" [ScalarType "oid"] (Pseudo Void) False]- -- self rule- _annotatedTree =- CreateLanguage ann_ name_- -- self rule- _fixedUpIdentifiersTree =- CreateLanguage ann_ name_- -- self rule- _originalTree =- CreateLanguage ann_ name_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CreateSequence :: Annotation ->- String ->- Integer ->- Integer ->- Integer ->- Integer ->- Integer ->- T_Statement -sem_Statement_CreateSequence ann_ name_ incr_ min_ max_ start_ cache_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- CreateSequence ann_ name_ incr_ min_ max_ start_ cache_- -- self rule- _fixedUpIdentifiersTree =- CreateSequence ann_ name_ incr_ min_ max_ start_ cache_- -- self rule- _originalTree =- CreateSequence ann_ name_ incr_ min_ max_ start_ cache_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CreateTable :: Annotation ->- String ->- T_AttributeDefList ->- T_ConstraintList ->- T_Statement -sem_Statement_CreateTable ann_ name_ atts_ cons_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _catUpdates :: ([CatalogUpdate])- _attrs :: ([(String,Type)])- _statementType :: (Maybe StatementType)- _consOlib :: LocalBindings- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _attsOcat :: Catalog- _attsOidenv :: IDEnv- _attsOlib :: LocalBindings- _consOcat :: Catalog- _consOidenv :: IDEnv- _attsIannotatedTree :: AttributeDefList - _attsIattrs :: ([(String, Maybe Type)])- _attsIfixedUpIdentifiersTree :: AttributeDefList - _attsIoriginalTree :: AttributeDefList - _consIannotatedTree :: ConstraintList - _consIfixedUpIdentifiersTree :: ConstraintList - _consIoriginalTree :: ConstraintList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 31, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 32, column 9)- _catUpdates =- [CatCreateTable name_ _attrs defaultSystemColumns]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 35, column 9)- _attrs =- mapMaybe okAt _attsIattrs- where- okAt (s, Just t) = Just (s,t)- okAt (_,Nothing) = Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 40, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 41, column 9)- _backTree =- CreateTable ann_- name_- _attsIannotatedTree- _consIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 45, column 9)- _consOlib =- case lbUpdate _lhsIcat- (LBIds "attributedefs" Nothing _attrs )- _lhsIlib of- Left x -> error $ "statement-createtable-cons.lib " ++ show x- Right e -> e- -- self rule- _annotatedTree =- CreateTable ann_ name_ _attsIannotatedTree _consIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CreateTable ann_ name_ _attsIfixedUpIdentifiersTree _consIfixedUpIdentifiersTree- -- self rule- _originalTree =- CreateTable ann_ name_ _attsIoriginalTree _consIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _attsOcat =- _lhsIcat- -- copy rule (down)- _attsOidenv =- _lhsIidenv- -- copy rule (down)- _attsOlib =- _lhsIlib- -- copy rule (down)- _consOcat =- _lhsIcat- -- copy rule (down)- _consOidenv =- _lhsIidenv- ( _attsIannotatedTree,_attsIattrs,_attsIfixedUpIdentifiersTree,_attsIoriginalTree) =- atts_ _attsOcat _attsOidenv _attsOlib - ( _consIannotatedTree,_consIfixedUpIdentifiersTree,_consIoriginalTree) =- cons_ _consOcat _consOidenv _consOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CreateTableAs :: Annotation ->- String ->- T_QueryExpr ->- T_Statement -sem_Statement_CreateTableAs ann_ name_ expr_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _exprOcsql :: LocalBindings- _tpe :: (Either [TypeError] Type)- _catUpdates :: ([CatalogUpdate])- _attrs :: (Either [TypeError] [(String,Type)])- _statementType :: (Maybe StatementType)- _exprOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _exprIannotatedTree :: QueryExpr - _exprIcidenv :: IDEnv- _exprIfixedUpIdentifiersTree :: QueryExpr - _exprIlibUpdates :: ([LocalBindingsUpdate])- _exprIoriginalTree :: QueryExpr - _exprIuType :: (Maybe [(String,Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 122, column 21)- _exprOcsql =- emptyBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 64, column 9)- _tpe =- CompositeType <$> lmt _exprIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 65, column 9)- _catUpdates =- either (const []) id $ do- ats <- _attrs- return [CatCreateTable name_ ats defaultSystemColumns]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 71, column 9)- _attrs =- lmt _exprIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 73, column 9)- _backTree =- CreateTableAs ann_ name_ _exprIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 74, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 175, column 32)- _exprOexpectedTypes =- []- -- self rule- _annotatedTree =- CreateTableAs ann_ name_ _exprIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CreateTableAs ann_ name_ _exprIfixedUpIdentifiersTree- -- self rule- _originalTree =- CreateTableAs ann_ name_ _exprIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIcidenv,_exprIfixedUpIdentifiersTree,_exprIlibUpdates,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOcsql _exprOexpectedTypes _exprOidenv _exprOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CreateTrigger :: Annotation ->- String ->- TriggerWhen ->- ([TriggerEvent]) ->- String ->- TriggerFire ->- String ->- T_ScalarExprList ->- T_Statement -sem_Statement_CreateTrigger ann_ name_ wh_ events_ tbl_ firing_ fnName_ fnArgs_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _fnArgsOexpectedTypes :: ([Maybe Type])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _fnArgsOcat :: Catalog- _fnArgsOidenv :: IDEnv- _fnArgsOlib :: LocalBindings- _fnArgsIannotatedTree :: ScalarExprList - _fnArgsIfixedUpIdentifiersTree :: ScalarExprList - _fnArgsIoriginalTree :: ScalarExprList - _fnArgsIuType :: ([Maybe Type])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 153, column 21)- _fnArgsOexpectedTypes =- []- -- self rule- _annotatedTree =- CreateTrigger ann_ name_ wh_ events_ tbl_ firing_ fnName_ _fnArgsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CreateTrigger ann_ name_ wh_ events_ tbl_ firing_ fnName_ _fnArgsIfixedUpIdentifiersTree- -- self rule- _originalTree =- CreateTrigger ann_ name_ wh_ events_ tbl_ firing_ fnName_ _fnArgsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _fnArgsOcat =- _lhsIcat- -- copy rule (down)- _fnArgsOidenv =- _lhsIidenv- -- copy rule (down)- _fnArgsOlib =- _lhsIlib- ( _fnArgsIannotatedTree,_fnArgsIfixedUpIdentifiersTree,_fnArgsIoriginalTree,_fnArgsIuType) =- fnArgs_ _fnArgsOcat _fnArgsOexpectedTypes _fnArgsOidenv _fnArgsOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CreateType :: Annotation ->- String ->- T_TypeAttributeDefList ->- T_Statement -sem_Statement_CreateType ann_ name_ atts_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _statementType :: (Maybe StatementType)- _catUpdates :: ([CatalogUpdate])- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _attsOcat :: Catalog- _attsOidenv :: IDEnv- _attsOlib :: LocalBindings- _attsIannotatedTree :: TypeAttributeDefList - _attsIattrs :: ([(String, Maybe Type)])- _attsIfixedUpIdentifiersTree :: TypeAttributeDefList - _attsIoriginalTree :: TypeAttributeDefList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 48, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 49, column 9)- _attrs =- mapMaybe okAt _attsIattrs- where- okAt (s, Just t) = Just (s,t)- okAt (_,Nothing) = Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 53, column 9)- _backTree =- CreateType ann_ name_ _attsIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 54, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 55, column 9)- _catUpdates =- [CatCreateComposite name_ _attrs ]- -- self rule- _annotatedTree =- CreateType ann_ name_ _attsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CreateType ann_ name_ _attsIfixedUpIdentifiersTree- -- self rule- _originalTree =- CreateType ann_ name_ _attsIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _attsOcat =- _lhsIcat- -- copy rule (down)- _attsOidenv =- _lhsIidenv- -- copy rule (down)- _attsOlib =- _lhsIlib- ( _attsIannotatedTree,_attsIattrs,_attsIfixedUpIdentifiersTree,_attsIoriginalTree) =- atts_ _attsOcat _attsOidenv _attsOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_CreateView :: Annotation ->- String ->- (Maybe [String]) ->- T_QueryExpr ->- T_Statement -sem_Statement_CreateView ann_ name_ colNames_ expr_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _exprOcsql :: LocalBindings- _tpe :: (Either [TypeError] Type)- _catUpdates :: ([CatalogUpdate])- _statementType :: (Maybe StatementType)- _exprOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _exprIannotatedTree :: QueryExpr - _exprIcidenv :: IDEnv- _exprIfixedUpIdentifiersTree :: QueryExpr - _exprIlibUpdates :: ([LocalBindingsUpdate])- _exprIoriginalTree :: QueryExpr - _exprIuType :: (Maybe [(String,Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 123, column 18)- _exprOcsql =- emptyBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 15, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 16, column 9)- _backTree =- CreateView ann_ name_ colNames_ _exprIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 17, column 9)- _catUpdates =- maybe [] (\a -> [CatCreateView name_ a]) _exprIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 19, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 175, column 32)- _exprOexpectedTypes =- []- -- self rule- _annotatedTree =- CreateView ann_ name_ colNames_ _exprIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- CreateView ann_ name_ colNames_ _exprIfixedUpIdentifiersTree- -- self rule- _originalTree =- CreateView ann_ name_ colNames_ _exprIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIcidenv,_exprIfixedUpIdentifiersTree,_exprIlibUpdates,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOcsql _exprOexpectedTypes _exprOidenv _exprOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Delete :: Annotation ->- T_SQIdentifier ->- T_TableRefList ->- T_MaybeBoolExpr ->- T_MaybeSelectList ->- T_Statement -sem_Statement_Delete ann_ table_ using_ whr_ returning_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _statementType :: (Maybe StatementType)- _catUpdates :: ([CatalogUpdate])- _whrOlib :: LocalBindings- _returningOlib :: LocalBindings- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _tableOcat :: Catalog- _tableOidenv :: IDEnv- _tableOlib :: LocalBindings- _usingOcat :: Catalog- _usingOidenv :: IDEnv- _usingOlib :: LocalBindings- _whrOcat :: Catalog- _whrOidenv :: IDEnv- _returningOcat :: Catalog- _returningOidenv :: IDEnv- _tableIannotatedTree :: SQIdentifier - _tableIfixedUpIdentifiersTree :: SQIdentifier - _tableIoriginalTree :: SQIdentifier - _tableItbAnnotatedTree :: SQIdentifier - _tableItbUType :: (Maybe ([(String,Type)],[(String,Type)]))- _usingIannotatedTree :: TableRefList - _usingIfixedUpIdentifiersTree :: TableRefList - _usingIlibUpdates :: ([LocalBindingsUpdate])- _usingInewLib2 :: LocalBindings- _usingIoriginalTree :: TableRefList - _usingItrefIDs :: ([(String,[String])])- _whrIannotatedTree :: MaybeBoolExpr - _whrIfixedUpIdentifiersTree :: MaybeBoolExpr - _whrIoriginalTree :: MaybeBoolExpr - _returningIannotatedTree :: MaybeSelectList - _returningIfixedUpIdentifiersTree :: MaybeSelectList - _returningIlistType :: ([(String,Maybe Type)])- _returningIoriginalTree :: MaybeSelectList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 13, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 14, column 9)- _statementType =- do- pt <- sequence $ getPlaceholderTypes _whrIannotatedTree- lt <- liftList _returningIlistType- return (pt,lt)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 19, column 9)- _backTree =- Delete ann_ _tableItbAnnotatedTree _usingIannotatedTree _whrIannotatedTree _returningIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 20, column 9)- _catUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 22, column 9)- _lib =- either (const _lhsIlib) id $ do- a <- lmt (allAtts <$> _tableItbUType)- lbUpdate _lhsIcat (LBIds "delete table attrs" (Just $ getTName _tableIannotatedTree) a) _lhsIlib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 26, column 9)- _whrOlib =- _lib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 27, column 9)- _returningOlib =- _lib- -- self rule- _annotatedTree =- Delete ann_ _tableIannotatedTree _usingIannotatedTree _whrIannotatedTree _returningIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Delete ann_ _tableIfixedUpIdentifiersTree _usingIfixedUpIdentifiersTree _whrIfixedUpIdentifiersTree _returningIfixedUpIdentifiersTree- -- self rule- _originalTree =- Delete ann_ _tableIoriginalTree _usingIoriginalTree _whrIoriginalTree _returningIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _tableOcat =- _lhsIcat- -- copy rule (down)- _tableOidenv =- _lhsIidenv- -- copy rule (from local)- _tableOlib =- _lib- -- copy rule (down)- _usingOcat =- _lhsIcat- -- copy rule (down)- _usingOidenv =- _lhsIidenv- -- copy rule (from local)- _usingOlib =- _lib- -- copy rule (down)- _whrOcat =- _lhsIcat- -- copy rule (down)- _whrOidenv =- _lhsIidenv- -- copy rule (down)- _returningOcat =- _lhsIcat- -- copy rule (down)- _returningOidenv =- _lhsIidenv- ( _tableIannotatedTree,_tableIfixedUpIdentifiersTree,_tableIoriginalTree,_tableItbAnnotatedTree,_tableItbUType) =- table_ _tableOcat _tableOidenv _tableOlib - ( _usingIannotatedTree,_usingIfixedUpIdentifiersTree,_usingIlibUpdates,_usingInewLib2,_usingIoriginalTree,_usingItrefIDs) =- using_ _usingOcat _usingOidenv _usingOlib - ( _whrIannotatedTree,_whrIfixedUpIdentifiersTree,_whrIoriginalTree) =- whr_ _whrOcat _whrOidenv _whrOlib - ( _returningIannotatedTree,_returningIfixedUpIdentifiersTree,_returningIlistType,_returningIoriginalTree) =- returning_ _returningOcat _returningOidenv _returningOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_DropFunction :: Annotation ->- IfExists ->- T_StringTypeNameListPairList ->- Cascade ->- T_Statement -sem_Statement_DropFunction ann_ ifE_ sigs_ cascade_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _catUpdates :: ([CatalogUpdate])- _statementType :: (Maybe StatementType)- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _sigsOcat :: Catalog- _sigsOidenv :: IDEnv- _sigsOlib :: LocalBindings- _sigsIannotatedTree :: StringTypeNameListPairList - _sigsIfixedUpIdentifiersTree :: StringTypeNameListPairList - _sigsIfnSigs :: ([(String,[Maybe Type])])- _sigsIoriginalTree :: StringTypeNameListPairList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 10, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 11, column 9)- _backTree =- DropFunction ann_ ifE_ _sigsIannotatedTree cascade_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 12, column 9)- _catUpdates =- either (const []) id $- Right $ map mcu $ mapMaybe goodSig _sigsIfnSigs- where- mcu :: (String,[Type]) -> CatalogUpdate- mcu (nm,args) = CatDropFunction ifE nm args- ifE = ifE_ == IfExists- goodSig :: (String,[Maybe Type]) -> Maybe (String,[Type])- goodSig (s, ts) = do- ts1 <- sequence ts- return (s,ts1)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 23, column 9)- _statementType =- Nothing- -- self rule- _annotatedTree =- DropFunction ann_ ifE_ _sigsIannotatedTree cascade_- -- self rule- _fixedUpIdentifiersTree =- DropFunction ann_ ifE_ _sigsIfixedUpIdentifiersTree cascade_- -- self rule- _originalTree =- DropFunction ann_ ifE_ _sigsIoriginalTree cascade_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _sigsOcat =- _lhsIcat- -- copy rule (down)- _sigsOidenv =- _lhsIidenv- -- copy rule (down)- _sigsOlib =- _lhsIlib- ( _sigsIannotatedTree,_sigsIfixedUpIdentifiersTree,_sigsIfnSigs,_sigsIoriginalTree) =- sigs_ _sigsOcat _sigsOidenv _sigsOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_DropSomething :: Annotation ->- DropType ->- IfExists ->- ([String]) ->- Cascade ->- T_Statement -sem_Statement_DropSomething ann_ dropType_ ifE_ names_ cascade_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- DropSomething ann_ dropType_ ifE_ names_ cascade_- -- self rule- _fixedUpIdentifiersTree =- DropSomething ann_ dropType_ ifE_ names_ cascade_- -- self rule- _originalTree =- DropSomething ann_ dropType_ ifE_ names_ cascade_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Execute :: Annotation ->- T_ScalarExpr ->- T_Statement -sem_Statement_Execute ann_ expr_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _exprOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _exprIannotatedTree :: ScalarExpr - _exprIfixedUpIdentifiersTree :: ScalarExpr - _exprIoriginalTree :: ScalarExpr - _exprIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 112, column 9)- _exprOexpectedType =- Nothing- -- self rule- _annotatedTree =- Execute ann_ _exprIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Execute ann_ _exprIfixedUpIdentifiersTree- -- self rule- _originalTree =- Execute ann_ _exprIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_ExitStatement :: Annotation ->- (Maybe String) ->- T_Statement -sem_Statement_ExitStatement ann_ lb_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- ExitStatement ann_ lb_- -- self rule- _fixedUpIdentifiersTree =- ExitStatement ann_ lb_- -- self rule- _originalTree =- ExitStatement ann_ lb_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_ForIntegerStatement :: Annotation ->- (Maybe String) ->- T_ScalarExpr ->- T_ScalarExpr ->- T_ScalarExpr ->- T_StatementList ->- T_Statement -sem_Statement_ForIntegerStatement ann_ lb_ var_ from_ to_ sts_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _stsOcatUpdates :: ([CatalogUpdate])- _stsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _stsOlib :: LocalBindings- _catUpdates :: ([CatalogUpdate])- _statementType :: (Maybe StatementType)- _fromOexpectedType :: (Maybe Type)- _toOexpectedType :: (Maybe Type)- _varOexpectedType :: (Maybe Type)- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _varOcat :: Catalog- _varOidenv :: IDEnv- _varOlib :: LocalBindings- _fromOcat :: Catalog- _fromOidenv :: IDEnv- _fromOlib :: LocalBindings- _toOcat :: Catalog- _toOidenv :: IDEnv- _toOlib :: LocalBindings- _stsOcat :: Catalog- _stsOidenv :: IDEnv- _varIannotatedTree :: ScalarExpr - _varIfixedUpIdentifiersTree :: ScalarExpr - _varIoriginalTree :: ScalarExpr - _varIuType :: (Maybe Type)- _fromIannotatedTree :: ScalarExpr - _fromIfixedUpIdentifiersTree :: ScalarExpr - _fromIoriginalTree :: ScalarExpr - _fromIuType :: (Maybe Type)- _toIannotatedTree :: ScalarExpr - _toIfixedUpIdentifiersTree :: ScalarExpr - _toIoriginalTree :: ScalarExpr - _toIuType :: (Maybe Type)- _stsIannotatedTree :: StatementList - _stsIfixedUpIdentifiersTree :: StatementList - _stsIoriginalTree :: StatementList - _stsIproducedCat :: Catalog- _stsIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 138, column 9)- _stsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 139, column 9)- _stsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 32, column 9)- _tpe =- do- fromType <- lmt _fromIuType- toType <- lmt _toIuType- errorWhen (fromType /= toType) [FromToTypesNotSame fromType toType]- case _varIuType of- Just t -> checkAssignmentValid _lhsIcat fromType t- Nothing -> return ()- return $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 41, column 9)- _implicitVar =- case _varIannotatedTree of- Identifier a i | errs a == [UnrecognisedIdentifier i] -> True- _ -> False- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 44, column 9)- _stsOlib =- if _implicitVar- then either (const _lhsIlib) id $ do- ft <- lmt _fromIuType- lbUpdate _lhsIcat- (LBIds "local for loop variable" Nothing [((getName _varIannotatedTree),ft)]) _lhsIlib- else _lhsIlib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 52, column 9)- _backTree =- let i = if _implicitVar- then let (Identifier a i') = _varIannotatedTree- in Identifier a { errs = []} i'- else _varIannotatedTree- in ForIntegerStatement ann_ lb_ i _fromIannotatedTree _toIannotatedTree _stsIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 58, column 9)- _catUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 59, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 113, column 27)- _fromOexpectedType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 114, column 27)- _toOexpectedType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 116, column 45)- _varOexpectedType =- Nothing- -- self rule- _annotatedTree =- ForIntegerStatement ann_ lb_ _varIannotatedTree _fromIannotatedTree _toIannotatedTree _stsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- ForIntegerStatement ann_ lb_ _varIfixedUpIdentifiersTree _fromIfixedUpIdentifiersTree _toIfixedUpIdentifiersTree _stsIfixedUpIdentifiersTree- -- self rule- _originalTree =- ForIntegerStatement ann_ lb_ _varIoriginalTree _fromIoriginalTree _toIoriginalTree _stsIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _varOcat =- _lhsIcat- -- copy rule (down)- _varOidenv =- _lhsIidenv- -- copy rule (down)- _varOlib =- _lhsIlib- -- copy rule (down)- _fromOcat =- _lhsIcat- -- copy rule (down)- _fromOidenv =- _lhsIidenv- -- copy rule (down)- _fromOlib =- _lhsIlib- -- copy rule (down)- _toOcat =- _lhsIcat- -- copy rule (down)- _toOidenv =- _lhsIidenv- -- copy rule (down)- _toOlib =- _lhsIlib- -- copy rule (down)- _stsOcat =- _lhsIcat- -- copy rule (down)- _stsOidenv =- _lhsIidenv- ( _varIannotatedTree,_varIfixedUpIdentifiersTree,_varIoriginalTree,_varIuType) =- var_ _varOcat _varOexpectedType _varOidenv _varOlib - ( _fromIannotatedTree,_fromIfixedUpIdentifiersTree,_fromIoriginalTree,_fromIuType) =- from_ _fromOcat _fromOexpectedType _fromOidenv _fromOlib - ( _toIannotatedTree,_toIfixedUpIdentifiersTree,_toIoriginalTree,_toIuType) =- to_ _toOcat _toOexpectedType _toOidenv _toOlib - ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =- sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_ForQueryStatement :: Annotation ->- (Maybe String) ->- T_ScalarExpr ->- T_QueryExpr ->- T_StatementList ->- T_Statement -sem_Statement_ForQueryStatement ann_ lb_ var_ sel_ sts_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _stsOcatUpdates :: ([CatalogUpdate])- _stsOlibUpdates :: ([LocalBindingsUpdate])- _selOcsql :: LocalBindings- _tpe :: (Either [TypeError] Type)- _stsOlib :: LocalBindings- _catUpdates :: ([CatalogUpdate])- _statementType :: (Maybe StatementType)- _varOexpectedType :: (Maybe Type)- _selOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _varOcat :: Catalog- _varOidenv :: IDEnv- _varOlib :: LocalBindings- _selOcat :: Catalog- _selOidenv :: IDEnv- _selOlib :: LocalBindings- _stsOcat :: Catalog- _stsOidenv :: IDEnv- _varIannotatedTree :: ScalarExpr - _varIfixedUpIdentifiersTree :: ScalarExpr - _varIoriginalTree :: ScalarExpr - _varIuType :: (Maybe Type)- _selIannotatedTree :: QueryExpr - _selIcidenv :: IDEnv- _selIfixedUpIdentifiersTree :: QueryExpr - _selIlibUpdates :: ([LocalBindingsUpdate])- _selIoriginalTree :: QueryExpr - _selIuType :: (Maybe [(String,Type)])- _stsIannotatedTree :: StatementList - _stsIfixedUpIdentifiersTree :: StatementList - _stsIoriginalTree :: StatementList - _stsIproducedCat :: Catalog- _stsIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 138, column 9)- _stsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 139, column 9)- _stsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 124, column 25)- _selOcsql =- emptyBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 64, column 9)- _tpe =- do- st <- lmt (CompositeType <$> _selIuType)- toType <- lmt _varIuType- checkAssignmentValid _lhsIcat st toType- return $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 74, column 9)- _stsOlib =- either (const _lhsIlib) id $ do- _ <- _tpe- st <- lmt (CompositeType <$> _selIuType)- lbUpdate _lhsIcat (LBIds "for loop record type" Nothing [(getName _varIannotatedTree,st)]) _lhsIlib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 80, column 9)- _backTree =- ForQueryStatement ann_ lb_ _varIannotatedTree _selIannotatedTree _stsIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 81, column 9)- _catUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 82, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 116, column 45)- _varOexpectedType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 177, column 9)- _selOexpectedTypes =- []- -- self rule- _annotatedTree =- ForQueryStatement ann_ lb_ _varIannotatedTree _selIannotatedTree _stsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- ForQueryStatement ann_ lb_ _varIfixedUpIdentifiersTree _selIfixedUpIdentifiersTree _stsIfixedUpIdentifiersTree- -- self rule- _originalTree =- ForQueryStatement ann_ lb_ _varIoriginalTree _selIoriginalTree _stsIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _varOcat =- _lhsIcat- -- copy rule (down)- _varOidenv =- _lhsIidenv- -- copy rule (down)- _varOlib =- _lhsIlib- -- copy rule (down)- _selOcat =- _lhsIcat- -- copy rule (down)- _selOidenv =- _lhsIidenv- -- copy rule (down)- _selOlib =- _lhsIlib- -- copy rule (down)- _stsOcat =- _lhsIcat- -- copy rule (down)- _stsOidenv =- _lhsIidenv- ( _varIannotatedTree,_varIfixedUpIdentifiersTree,_varIoriginalTree,_varIuType) =- var_ _varOcat _varOexpectedType _varOidenv _varOlib - ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =- sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib - ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =- sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_If :: Annotation ->- T_ScalarExprStatementListPairList ->- T_StatementList ->- T_Statement -sem_Statement_If ann_ cases_ els_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _elsOcatUpdates :: ([CatalogUpdate])- _elsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _casesOcat :: Catalog- _casesOidenv :: IDEnv- _casesOlib :: LocalBindings- _elsOcat :: Catalog- _elsOidenv :: IDEnv- _elsOlib :: LocalBindings- _casesIannotatedTree :: ScalarExprStatementListPairList - _casesIfixedUpIdentifiersTree :: ScalarExprStatementListPairList - _casesIoriginalTree :: ScalarExprStatementListPairList - _elsIannotatedTree :: StatementList - _elsIfixedUpIdentifiersTree :: StatementList - _elsIoriginalTree :: StatementList - _elsIproducedCat :: Catalog- _elsIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 134, column 9)- _elsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 135, column 9)- _elsOlibUpdates =- []- -- self rule- _annotatedTree =- If ann_ _casesIannotatedTree _elsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- If ann_ _casesIfixedUpIdentifiersTree _elsIfixedUpIdentifiersTree- -- self rule- _originalTree =- If ann_ _casesIoriginalTree _elsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _casesOcat =- _lhsIcat- -- copy rule (down)- _casesOidenv =- _lhsIidenv- -- copy rule (down)- _casesOlib =- _lhsIlib- -- copy rule (down)- _elsOcat =- _lhsIcat- -- copy rule (down)- _elsOidenv =- _lhsIidenv- -- copy rule (down)- _elsOlib =- _lhsIlib- ( _casesIannotatedTree,_casesIfixedUpIdentifiersTree,_casesIoriginalTree) =- cases_ _casesOcat _casesOidenv _casesOlib - ( _elsIannotatedTree,_elsIfixedUpIdentifiersTree,_elsIoriginalTree,_elsIproducedCat,_elsIproducedLib) =- els_ _elsOcat _elsOcatUpdates _elsOidenv _elsOlib _elsOlibUpdates - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Insert :: Annotation ->- T_SQIdentifier ->- ([String]) ->- T_QueryExpr ->- T_MaybeSelectList ->- T_Statement -sem_Statement_Insert ann_ table_ targetCols_ insData_ returning_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _insDataOcsql :: LocalBindings- _tpe :: (Either [TypeError] Type)- _statementType :: (Maybe StatementType)- _columnTypes :: (Either [TypeError] [(String,Type)])- _catUpdates :: ([CatalogUpdate])- _insDataOexpectedTypes :: ([Maybe Type])- _returningOlib :: LocalBindings- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _tableOcat :: Catalog- _tableOidenv :: IDEnv- _tableOlib :: LocalBindings- _insDataOcat :: Catalog- _insDataOidenv :: IDEnv- _insDataOlib :: LocalBindings- _returningOcat :: Catalog- _returningOidenv :: IDEnv- _tableIannotatedTree :: SQIdentifier - _tableIfixedUpIdentifiersTree :: SQIdentifier - _tableIoriginalTree :: SQIdentifier - _tableItbAnnotatedTree :: SQIdentifier - _tableItbUType :: (Maybe ([(String,Type)],[(String,Type)]))- _insDataIannotatedTree :: QueryExpr - _insDataIcidenv :: IDEnv- _insDataIfixedUpIdentifiersTree :: QueryExpr - _insDataIlibUpdates :: ([LocalBindingsUpdate])- _insDataIoriginalTree :: QueryExpr - _insDataIuType :: (Maybe [(String,Type)])- _returningIannotatedTree :: MaybeSelectList - _returningIfixedUpIdentifiersTree :: MaybeSelectList - _returningIlistType :: ([(String,Maybe Type)])- _returningIoriginalTree :: MaybeSelectList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 125, column 14)- _insDataOcsql =- emptyBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 14, column 9)- _tpe =- either Left (const $ Right $ Pseudo Void) _columnTypes- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 15, column 9)- _statementType =- Just (catMaybes $ getPlaceholderTypes _insDataIannotatedTree- ,fromMaybe [] $ liftList _returningIlistType)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 20, column 9)- _columnTypes =- do- atts <- lmt (allAtts <$> _tableItbUType)- pAtts <- lmt (fst <$> _tableItbUType)- tAtts <- case targetCols_ of- [] -> return pAtts- _ -> mapM (lkpA atts) targetCols_- expAtts <- lmt _insDataIuType- checkAssignmentsValid _lhsIcat (map snd expAtts) (map snd tAtts)- return tAtts- where- lkpA :: [(String,Type)] -> String -> E (String,Type)- lkpA m n = maybe (Left [UnrecognisedIdentifier n])- (\t -> Right (n,t))- $ lookup n m- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 36, column 9)- _backTree =- Insert ann_ _tableItbAnnotatedTree- targetCols_- _insDataIannotatedTree- _returningIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 40, column 9)- _catUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 41, column 9)- _insDataOexpectedTypes =- maybe [] id $ do- ts <- etmt $ _columnTypes- return $ map (Just . snd) ts- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 45, column 9)- _returningOlib =- either (const _lhsIlib) id $ do- atts <- lmt (allAtts <$> _tableItbUType)- lbUpdate _lhsIcat (LBIds "insert target table" (Just $ getTName _tableIannotatedTree) atts) _lhsIlib- -- self rule- _annotatedTree =- Insert ann_ _tableIannotatedTree targetCols_ _insDataIannotatedTree _returningIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Insert ann_ _tableIfixedUpIdentifiersTree targetCols_ _insDataIfixedUpIdentifiersTree _returningIfixedUpIdentifiersTree- -- self rule- _originalTree =- Insert ann_ _tableIoriginalTree targetCols_ _insDataIoriginalTree _returningIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _tableOcat =- _lhsIcat- -- copy rule (down)- _tableOidenv =- _lhsIidenv- -- copy rule (down)- _tableOlib =- _lhsIlib- -- copy rule (down)- _insDataOcat =- _lhsIcat- -- copy rule (down)- _insDataOidenv =- _lhsIidenv- -- copy rule (down)- _insDataOlib =- _lhsIlib- -- copy rule (down)- _returningOcat =- _lhsIcat- -- copy rule (down)- _returningOidenv =- _lhsIidenv- ( _tableIannotatedTree,_tableIfixedUpIdentifiersTree,_tableIoriginalTree,_tableItbAnnotatedTree,_tableItbUType) =- table_ _tableOcat _tableOidenv _tableOlib - ( _insDataIannotatedTree,_insDataIcidenv,_insDataIfixedUpIdentifiersTree,_insDataIlibUpdates,_insDataIoriginalTree,_insDataIuType) =- insData_ _insDataOcat _insDataOcsql _insDataOexpectedTypes _insDataOidenv _insDataOlib - ( _returningIannotatedTree,_returningIfixedUpIdentifiersTree,_returningIlistType,_returningIoriginalTree) =- returning_ _returningOcat _returningOidenv _returningOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Into :: Annotation ->- Bool ->- T_ScalarExprList ->- T_Statement ->- T_Statement -sem_Statement_Into ann_ strict_ into_ stmt_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _intoOexpectedTypes :: ([Maybe Type])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _intoOcat :: Catalog- _intoOidenv :: IDEnv- _intoOlib :: LocalBindings- _stmtOcat :: Catalog- _stmtOidenv :: IDEnv- _stmtOinProducedCat :: Catalog- _stmtOlib :: LocalBindings- _intoIannotatedTree :: ScalarExprList - _intoIfixedUpIdentifiersTree :: ScalarExprList - _intoIoriginalTree :: ScalarExprList - _intoIuType :: ([Maybe Type])- _stmtIannotatedTree :: Statement - _stmtIcatUpdates :: ([CatalogUpdate])- _stmtIfixedUpIdentifiersTree :: Statement - _stmtIlibUpdates :: ([LocalBindingsUpdate])- _stmtIoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 117, column 12)- _intoOexpectedTypes =- []- -- self rule- _annotatedTree =- Into ann_ strict_ _intoIannotatedTree _stmtIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Into ann_ strict_ _intoIfixedUpIdentifiersTree _stmtIfixedUpIdentifiersTree- -- self rule- _originalTree =- Into ann_ strict_ _intoIoriginalTree _stmtIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _intoOcat =- _lhsIcat- -- copy rule (down)- _intoOidenv =- _lhsIidenv- -- copy rule (down)- _intoOlib =- _lhsIlib- -- copy rule (down)- _stmtOcat =- _lhsIcat- -- copy rule (down)- _stmtOidenv =- _lhsIidenv- -- copy rule (down)- _stmtOinProducedCat =- _lhsIinProducedCat- -- copy rule (down)- _stmtOlib =- _lhsIlib- ( _intoIannotatedTree,_intoIfixedUpIdentifiersTree,_intoIoriginalTree,_intoIuType) =- into_ _intoOcat _intoOexpectedTypes _intoOidenv _intoOlib - ( _stmtIannotatedTree,_stmtIcatUpdates,_stmtIfixedUpIdentifiersTree,_stmtIlibUpdates,_stmtIoriginalTree) =- stmt_ _stmtOcat _stmtOidenv _stmtOinProducedCat _stmtOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_LoopStatement :: Annotation ->- (Maybe String) ->- T_StatementList ->- T_Statement -sem_Statement_LoopStatement ann_ lb_ sts_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _stsOcatUpdates :: ([CatalogUpdate])- _stsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _stsOcat :: Catalog- _stsOidenv :: IDEnv- _stsOlib :: LocalBindings- _stsIannotatedTree :: StatementList - _stsIfixedUpIdentifiersTree :: StatementList - _stsIoriginalTree :: StatementList - _stsIproducedCat :: Catalog- _stsIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 138, column 9)- _stsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 139, column 9)- _stsOlibUpdates =- []- -- self rule- _annotatedTree =- LoopStatement ann_ lb_ _stsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- LoopStatement ann_ lb_ _stsIfixedUpIdentifiersTree- -- self rule- _originalTree =- LoopStatement ann_ lb_ _stsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _stsOcat =- _lhsIcat- -- copy rule (down)- _stsOidenv =- _lhsIidenv- -- copy rule (down)- _stsOlib =- _lhsIlib- ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =- sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Notify :: Annotation ->- String ->- T_Statement -sem_Statement_Notify ann_ name_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- Notify ann_ name_- -- self rule- _fixedUpIdentifiersTree =- Notify ann_ name_- -- self rule- _originalTree =- Notify ann_ name_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_NullStatement :: Annotation ->- T_Statement -sem_Statement_NullStatement ann_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- NullStatement ann_- -- self rule- _fixedUpIdentifiersTree =- NullStatement ann_- -- self rule- _originalTree =- NullStatement ann_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Perform :: Annotation ->- T_ScalarExpr ->- T_Statement -sem_Statement_Perform ann_ expr_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _exprOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _exprIannotatedTree :: ScalarExpr - _exprIfixedUpIdentifiersTree :: ScalarExpr - _exprIoriginalTree :: ScalarExpr - _exprIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 112, column 9)- _exprOexpectedType =- Nothing- -- self rule- _annotatedTree =- Perform ann_ _exprIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Perform ann_ _exprIfixedUpIdentifiersTree- -- self rule- _originalTree =- Perform ann_ _exprIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_QueryStatement :: Annotation ->- T_QueryExpr ->- T_Statement -sem_Statement_QueryStatement ann_ ex_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _statementType :: (Maybe StatementType)- _catUpdates :: ([CatalogUpdate])- _exOcsql :: LocalBindings- _exOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _exOcat :: Catalog- _exOidenv :: IDEnv- _exOlib :: LocalBindings- _exIannotatedTree :: QueryExpr - _exIcidenv :: IDEnv- _exIfixedUpIdentifiersTree :: QueryExpr - _exIlibUpdates :: ([LocalBindingsUpdate])- _exIoriginalTree :: QueryExpr - _exIuType :: (Maybe [(String,Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 14, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 15, column 9)- _statementType =- do- pt <- sequence $ getPlaceholderTypes _exIannotatedTree- st <- _exIuType- return (pt- ,case st of- [(_,(Pseudo Void))] -> []- t -> t)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 23, column 9)- _backTree =- QueryStatement ann_ _exIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 24, column 9)- _catUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 126, column 22)- _exOcsql =- emptyBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 137, column 9)- _libUpdates =- _exIlibUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 178, column 22)- _exOexpectedTypes =- []- -- self rule- _annotatedTree =- QueryStatement ann_ _exIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- QueryStatement ann_ _exIfixedUpIdentifiersTree- -- self rule- _originalTree =- QueryStatement ann_ _exIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exOcat =- _lhsIcat- -- copy rule (down)- _exOidenv =- _lhsIidenv- -- copy rule (down)- _exOlib =- _lhsIlib- ( _exIannotatedTree,_exIcidenv,_exIfixedUpIdentifiersTree,_exIlibUpdates,_exIoriginalTree,_exIuType) =- ex_ _exOcat _exOcsql _exOexpectedTypes _exOidenv _exOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Raise :: Annotation ->- RaiseType ->- String ->- T_ScalarExprList ->- T_Statement -sem_Statement_Raise ann_ level_ message_ args_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _argsOexpectedTypes :: ([Maybe Type])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _argsOcat :: Catalog- _argsOidenv :: IDEnv- _argsOlib :: LocalBindings- _argsIannotatedTree :: ScalarExprList - _argsIfixedUpIdentifiersTree :: ScalarExprList - _argsIoriginalTree :: ScalarExprList - _argsIuType :: ([Maybe Type])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 154, column 13)- _argsOexpectedTypes =- []- -- self rule- _annotatedTree =- Raise ann_ level_ message_ _argsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Raise ann_ level_ message_ _argsIfixedUpIdentifiersTree- -- self rule- _originalTree =- Raise ann_ level_ message_ _argsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _argsOcat =- _lhsIcat- -- copy rule (down)- _argsOidenv =- _lhsIidenv- -- copy rule (down)- _argsOlib =- _lhsIlib- ( _argsIannotatedTree,_argsIfixedUpIdentifiersTree,_argsIoriginalTree,_argsIuType) =- args_ _argsOcat _argsOexpectedTypes _argsOidenv _argsOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Return :: Annotation ->- T_MaybeScalarExpr ->- T_Statement -sem_Statement_Return ann_ value_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _catUpdates :: ([CatalogUpdate])- _statementType :: (Maybe StatementType)- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _valueOcat :: Catalog- _valueOidenv :: IDEnv- _valueOlib :: LocalBindings- _valueIannotatedTree :: MaybeScalarExpr - _valueIfixedUpIdentifiersTree :: MaybeScalarExpr - _valueIoriginalTree :: MaybeScalarExpr - _valueIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 12, column 9)- _tpe =- maybe (Right $ Pseudo Void) Right _valueIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 13, column 9)- _backTree =- Return ann_ _valueIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 14, column 9)- _catUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 15, column 9)- _statementType =- Nothing- -- self rule- _annotatedTree =- Return ann_ _valueIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Return ann_ _valueIfixedUpIdentifiersTree- -- self rule- _originalTree =- Return ann_ _valueIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _valueOcat =- _lhsIcat- -- copy rule (down)- _valueOidenv =- _lhsIidenv- -- copy rule (down)- _valueOlib =- _lhsIlib- ( _valueIannotatedTree,_valueIfixedUpIdentifiersTree,_valueIoriginalTree,_valueIuType) =- value_ _valueOcat _valueOidenv _valueOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_ReturnNext :: Annotation ->- T_ScalarExpr ->- T_Statement -sem_Statement_ReturnNext ann_ expr_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _exprOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _exprIannotatedTree :: ScalarExpr - _exprIfixedUpIdentifiersTree :: ScalarExpr - _exprIoriginalTree :: ScalarExpr - _exprIuType :: (Maybe Type)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 112, column 9)- _exprOexpectedType =- Nothing- -- self rule- _annotatedTree =- ReturnNext ann_ _exprIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- ReturnNext ann_ _exprIfixedUpIdentifiersTree- -- self rule- _originalTree =- ReturnNext ann_ _exprIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_ReturnQuery :: Annotation ->- T_QueryExpr ->- T_Statement -sem_Statement_ReturnQuery ann_ sel_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _selOcsql :: LocalBindings- _selOexpectedTypes :: ([Maybe Type])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _selOcat :: Catalog- _selOidenv :: IDEnv- _selOlib :: LocalBindings- _selIannotatedTree :: QueryExpr - _selIcidenv :: IDEnv- _selIfixedUpIdentifiersTree :: QueryExpr - _selIlibUpdates :: ([LocalBindingsUpdate])- _selIoriginalTree :: QueryExpr - _selIuType :: (Maybe [(String,Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 127, column 19)- _selOcsql =- emptyBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 177, column 9)- _selOexpectedTypes =- []- -- self rule- _annotatedTree =- ReturnQuery ann_ _selIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- ReturnQuery ann_ _selIfixedUpIdentifiersTree- -- self rule- _originalTree =- ReturnQuery ann_ _selIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _selOcat =- _lhsIcat- -- copy rule (down)- _selOidenv =- _lhsIidenv- -- copy rule (down)- _selOlib =- _lhsIlib- ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =- sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Set :: Annotation ->- String ->- ([SetValue]) ->- T_Statement -sem_Statement_Set ann_ name_ values_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- Set ann_ name_ values_- -- self rule- _fixedUpIdentifiersTree =- Set ann_ name_ values_- -- self rule- _originalTree =- Set ann_ name_ values_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Truncate :: Annotation ->- ([String]) ->- RestartIdentity ->- Cascade ->- T_Statement -sem_Statement_Truncate ann_ tables_ restartIdentity_ cascade_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- self rule- _annotatedTree =- Truncate ann_ tables_ restartIdentity_ cascade_- -- self rule- _fixedUpIdentifiersTree =- Truncate ann_ tables_ restartIdentity_ cascade_- -- self rule- _originalTree =- Truncate ann_ tables_ restartIdentity_ cascade_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_Update :: Annotation ->- T_SQIdentifier ->- T_ScalarExprList ->- T_TableRefList ->- T_MaybeBoolExpr ->- T_MaybeSelectList ->- T_Statement -sem_Statement_Update ann_ table_ assigns_ fromList_ whr_ returning_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOannotatedTree :: Statement - _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _tpe :: (Either [TypeError] Type)- _statementType :: (Maybe StatementType)- _catUpdates :: ([CatalogUpdate])- _whrOlib :: LocalBindings- _assignsOlib :: LocalBindings- _returningOlib :: LocalBindings- _assignsOexpectedTypes :: ([Maybe Type])- _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _tableOcat :: Catalog- _tableOidenv :: IDEnv- _tableOlib :: LocalBindings- _assignsOcat :: Catalog- _assignsOidenv :: IDEnv- _fromListOcat :: Catalog- _fromListOidenv :: IDEnv- _fromListOlib :: LocalBindings- _whrOcat :: Catalog- _whrOidenv :: IDEnv- _returningOcat :: Catalog- _returningOidenv :: IDEnv- _tableIannotatedTree :: SQIdentifier - _tableIfixedUpIdentifiersTree :: SQIdentifier - _tableIoriginalTree :: SQIdentifier - _tableItbAnnotatedTree :: SQIdentifier - _tableItbUType :: (Maybe ([(String,Type)],[(String,Type)]))- _assignsIannotatedTree :: ScalarExprList - _assignsIfixedUpIdentifiersTree :: ScalarExprList - _assignsIoriginalTree :: ScalarExprList - _assignsIuType :: ([Maybe Type])- _fromListIannotatedTree :: TableRefList - _fromListIfixedUpIdentifiersTree :: TableRefList - _fromListIlibUpdates :: ([LocalBindingsUpdate])- _fromListInewLib2 :: LocalBindings- _fromListIoriginalTree :: TableRefList - _fromListItrefIDs :: ([(String,[String])])- _whrIannotatedTree :: MaybeBoolExpr - _whrIfixedUpIdentifiersTree :: MaybeBoolExpr - _whrIoriginalTree :: MaybeBoolExpr - _returningIannotatedTree :: MaybeSelectList - _returningIfixedUpIdentifiersTree :: MaybeSelectList - _returningIlistType :: ([(String,Maybe Type)])- _returningIoriginalTree :: MaybeSelectList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)- _lhsOannotatedTree =- updateAnnotation- (\a -> a {stType = _statementType- ,catUpd = _catUpdates }) $- setTypeAddErrors _tpe _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)- _lhsOcatUpdates =- _catUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)- _lhsOlibUpdates =- _libUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)- _libUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 13, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 18, column 9)- _statementType =- do- pt <- sequence $ getPlaceholderTypes _assignsIannotatedTree- ++ getPlaceholderTypes _whrIannotatedTree- return (pt,fromMaybe [] $ liftList _returningIlistType)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 24, column 9)- _backTree =- Update ann_- _tableItbAnnotatedTree- _assignsIannotatedTree- _fromListIannotatedTree- _whrIannotatedTree- _returningIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 30, column 9)- _catUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 35, column 9)- _lib =- either (const _lhsIlib) id $ do- a <- lmt (allAtts <$> _tableItbUType)- lbUpdate _lhsIcat (LBIds "updated table attrs" (Just $ getTName _tableIannotatedTree) a) _lhsIlib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 39, column 9)- _whrOlib =- _lib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 40, column 9)- _assignsOlib =- _lib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 41, column 9)- _returningOlib =- _lib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 155, column 14)- _assignsOexpectedTypes =- []- -- self rule- _annotatedTree =- Update ann_ _tableIannotatedTree _assignsIannotatedTree _fromListIannotatedTree _whrIannotatedTree _returningIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Update ann_ _tableIfixedUpIdentifiersTree _assignsIfixedUpIdentifiersTree _fromListIfixedUpIdentifiersTree _whrIfixedUpIdentifiersTree _returningIfixedUpIdentifiersTree- -- self rule- _originalTree =- Update ann_ _tableIoriginalTree _assignsIoriginalTree _fromListIoriginalTree _whrIoriginalTree _returningIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _tableOcat =- _lhsIcat- -- copy rule (down)- _tableOidenv =- _lhsIidenv- -- copy rule (from local)- _tableOlib =- _lib- -- copy rule (down)- _assignsOcat =- _lhsIcat- -- copy rule (down)- _assignsOidenv =- _lhsIidenv- -- copy rule (down)- _fromListOcat =- _lhsIcat- -- copy rule (down)- _fromListOidenv =- _lhsIidenv- -- copy rule (from local)- _fromListOlib =- _lib- -- copy rule (down)- _whrOcat =- _lhsIcat- -- copy rule (down)- _whrOidenv =- _lhsIidenv- -- copy rule (down)- _returningOcat =- _lhsIcat- -- copy rule (down)- _returningOidenv =- _lhsIidenv- ( _tableIannotatedTree,_tableIfixedUpIdentifiersTree,_tableIoriginalTree,_tableItbAnnotatedTree,_tableItbUType) =- table_ _tableOcat _tableOidenv _tableOlib - ( _assignsIannotatedTree,_assignsIfixedUpIdentifiersTree,_assignsIoriginalTree,_assignsIuType) =- assigns_ _assignsOcat _assignsOexpectedTypes _assignsOidenv _assignsOlib - ( _fromListIannotatedTree,_fromListIfixedUpIdentifiersTree,_fromListIlibUpdates,_fromListInewLib2,_fromListIoriginalTree,_fromListItrefIDs) =- fromList_ _fromListOcat _fromListOidenv _fromListOlib - ( _whrIannotatedTree,_whrIfixedUpIdentifiersTree,_whrIoriginalTree) =- whr_ _whrOcat _whrOidenv _whrOlib - ( _returningIannotatedTree,_returningIfixedUpIdentifiersTree,_returningIlistType,_returningIoriginalTree) =- returning_ _returningOcat _returningOidenv _returningOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))-sem_Statement_WhileStatement :: Annotation ->- (Maybe String) ->- T_ScalarExpr ->- T_StatementList ->- T_Statement -sem_Statement_WhileStatement ann_ lb_ expr_ sts_ =- (\ _lhsIcat- _lhsIidenv- _lhsIinProducedCat- _lhsIlib ->- (let _lhsOcatUpdates :: ([CatalogUpdate])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _stsOcatUpdates :: ([CatalogUpdate])- _stsOlibUpdates :: ([LocalBindingsUpdate])- _exprOexpectedType :: (Maybe Type)- _lhsOannotatedTree :: Statement - _lhsOfixedUpIdentifiersTree :: Statement - _lhsOoriginalTree :: Statement - _exprOcat :: Catalog- _exprOidenv :: IDEnv- _exprOlib :: LocalBindings- _stsOcat :: Catalog- _stsOidenv :: IDEnv- _stsOlib :: LocalBindings- _exprIannotatedTree :: ScalarExpr - _exprIfixedUpIdentifiersTree :: ScalarExpr - _exprIoriginalTree :: ScalarExpr - _exprIuType :: (Maybe Type)- _stsIannotatedTree :: StatementList - _stsIfixedUpIdentifiersTree :: StatementList - _stsIoriginalTree :: StatementList - _stsIproducedCat :: Catalog- _stsIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)- _lhsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 138, column 9)- _stsOcatUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 139, column 9)- _stsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 112, column 9)- _exprOexpectedType =- Nothing- -- self rule- _annotatedTree =- WhileStatement ann_ lb_ _exprIannotatedTree _stsIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- WhileStatement ann_ lb_ _exprIfixedUpIdentifiersTree _stsIfixedUpIdentifiersTree- -- self rule- _originalTree =- WhileStatement ann_ lb_ _exprIoriginalTree _stsIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _exprOcat =- _lhsIcat- -- copy rule (down)- _exprOidenv =- _lhsIidenv- -- copy rule (down)- _exprOlib =- _lhsIlib- -- copy rule (down)- _stsOcat =- _lhsIcat- -- copy rule (down)- _stsOidenv =- _lhsIidenv- -- copy rule (down)- _stsOlib =- _lhsIlib- ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =- expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib - ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =- sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))--- StatementList ------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- catUpdates : [CatalogUpdate]- idenv : IDEnv- lib : LocalBindings- libUpdates : [LocalBindingsUpdate]- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - producedCat : Catalog- producedLib : LocalBindings- alternatives:- alternative Cons:- child hd : Statement - child tl : StatementList - visit 0:- local newCat : _- local newLib : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local newCat : _- local newLib : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type StatementList = [Statement ]--- cata-sem_StatementList :: StatementList ->- T_StatementList -sem_StatementList list =- (Prelude.foldr sem_StatementList_Cons sem_StatementList_Nil (Prelude.map sem_Statement list) )--- semantic domain-type T_StatementList = Catalog ->- ([CatalogUpdate]) ->- IDEnv ->- LocalBindings ->- ([LocalBindingsUpdate]) ->- ( StatementList ,StatementList ,StatementList ,Catalog,LocalBindings)-data Inh_StatementList = Inh_StatementList {cat_Inh_StatementList :: Catalog,catUpdates_Inh_StatementList :: ([CatalogUpdate]),idenv_Inh_StatementList :: IDEnv,lib_Inh_StatementList :: LocalBindings,libUpdates_Inh_StatementList :: ([LocalBindingsUpdate])}-data Syn_StatementList = Syn_StatementList {annotatedTree_Syn_StatementList :: StatementList ,fixedUpIdentifiersTree_Syn_StatementList :: StatementList ,originalTree_Syn_StatementList :: StatementList ,producedCat_Syn_StatementList :: Catalog,producedLib_Syn_StatementList :: LocalBindings}-wrap_StatementList :: T_StatementList ->- Inh_StatementList ->- Syn_StatementList -wrap_StatementList sem (Inh_StatementList _lhsIcat _lhsIcatUpdates _lhsIidenv _lhsIlib _lhsIlibUpdates ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat,_lhsOproducedLib) = sem _lhsIcat _lhsIcatUpdates _lhsIidenv _lhsIlib _lhsIlibUpdates - in (Syn_StatementList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOproducedCat _lhsOproducedLib ))-sem_StatementList_Cons :: T_Statement ->- T_StatementList ->- T_StatementList -sem_StatementList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIcatUpdates- _lhsIidenv- _lhsIlib- _lhsIlibUpdates ->- (let _hdOcat :: Catalog- _tlOcat :: Catalog- _hdOlib :: LocalBindings- _tlOlib :: LocalBindings- _lhsOproducedCat :: Catalog- _lhsOproducedLib :: LocalBindings- _tlOcatUpdates :: ([CatalogUpdate])- _tlOlibUpdates :: ([LocalBindingsUpdate])- _hdOinProducedCat :: Catalog- _lhsOannotatedTree :: StatementList - _lhsOfixedUpIdentifiersTree :: StatementList - _lhsOoriginalTree :: StatementList - _hdOidenv :: IDEnv- _tlOidenv :: IDEnv- _hdIannotatedTree :: Statement - _hdIcatUpdates :: ([CatalogUpdate])- _hdIfixedUpIdentifiersTree :: Statement - _hdIlibUpdates :: ([LocalBindingsUpdate])- _hdIoriginalTree :: Statement - _tlIannotatedTree :: StatementList - _tlIfixedUpIdentifiersTree :: StatementList - _tlIoriginalTree :: StatementList - _tlIproducedCat :: Catalog- _tlIproducedLib :: LocalBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 56, column 9)- _newCat =- fromRight _lhsIcat $ updateCatalog _lhsIcat _lhsIcatUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 57, column 9)- _newLib =- fromRight _lhsIlib $ foldM (flip $ lbUpdate _lhsIcat) _lhsIlib _lhsIlibUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 59, column 9)- _hdOcat =- _newCat- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 60, column 9)- _tlOcat =- _newCat- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 61, column 9)- _hdOlib =- _newLib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 62, column 9)- _tlOlib =- _newLib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 66, column 9)- _lhsOproducedCat =- _tlIproducedCat- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 67, column 9)- _lhsOproducedLib =- _tlIproducedLib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 70, column 9)- _tlOcatUpdates =- _hdIcatUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 71, column 9)- _tlOlibUpdates =- _hdIlibUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 97, column 12)- _hdOinProducedCat =- _tlIproducedCat- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _tlOidenv =- _lhsIidenv- ( _hdIannotatedTree,_hdIcatUpdates,_hdIfixedUpIdentifiersTree,_hdIlibUpdates,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOinProducedCat _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIproducedCat,_tlIproducedLib) =- tl_ _tlOcat _tlOcatUpdates _tlOidenv _tlOlib _tlOlibUpdates - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat,_lhsOproducedLib)))-sem_StatementList_Nil :: T_StatementList -sem_StatementList_Nil =- (\ _lhsIcat- _lhsIcatUpdates- _lhsIidenv- _lhsIlib- _lhsIlibUpdates ->- (let _lhsOproducedCat :: Catalog- _lhsOproducedLib :: LocalBindings- _lhsOannotatedTree :: StatementList - _lhsOfixedUpIdentifiersTree :: StatementList - _lhsOoriginalTree :: StatementList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 56, column 9)- _newCat =- fromRight _lhsIcat $ updateCatalog _lhsIcat _lhsIcatUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 57, column 9)- _newLib =- fromRight _lhsIlib $ foldM (flip $ lbUpdate _lhsIcat) _lhsIlib _lhsIlibUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 73, column 9)- _lhsOproducedCat =- _newCat- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 74, column 9)- _lhsOproducedLib =- _newLib- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat,_lhsOproducedLib)))--- StringTypeNameListPair ---------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - fnSig : (String,[Maybe Type])- originalTree : SELF - alternatives:- alternative Tuple:- child x1 : {String}- child x2 : TypeNameList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type StringTypeNameListPair = ( (String),TypeNameList )--- cata-sem_StringTypeNameListPair :: StringTypeNameListPair ->- T_StringTypeNameListPair -sem_StringTypeNameListPair ( x1,x2) =- (sem_StringTypeNameListPair_Tuple x1 (sem_TypeNameList x2 ) )--- semantic domain-type T_StringTypeNameListPair = Catalog ->- IDEnv ->- LocalBindings ->- ( StringTypeNameListPair ,StringTypeNameListPair ,((String,[Maybe Type])),StringTypeNameListPair )-data Inh_StringTypeNameListPair = Inh_StringTypeNameListPair {cat_Inh_StringTypeNameListPair :: Catalog,idenv_Inh_StringTypeNameListPair :: IDEnv,lib_Inh_StringTypeNameListPair :: LocalBindings}-data Syn_StringTypeNameListPair = Syn_StringTypeNameListPair {annotatedTree_Syn_StringTypeNameListPair :: StringTypeNameListPair ,fixedUpIdentifiersTree_Syn_StringTypeNameListPair :: StringTypeNameListPair ,fnSig_Syn_StringTypeNameListPair :: ((String,[Maybe Type])),originalTree_Syn_StringTypeNameListPair :: StringTypeNameListPair }-wrap_StringTypeNameListPair :: T_StringTypeNameListPair ->- Inh_StringTypeNameListPair ->- Syn_StringTypeNameListPair -wrap_StringTypeNameListPair sem (Inh_StringTypeNameListPair _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOfnSig,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_StringTypeNameListPair _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOfnSig _lhsOoriginalTree ))-sem_StringTypeNameListPair_Tuple :: String ->- T_TypeNameList ->- T_StringTypeNameListPair -sem_StringTypeNameListPair_Tuple x1_ x2_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOfnSig :: ((String,[Maybe Type]))- _lhsOannotatedTree :: StringTypeNameListPair - _lhsOfixedUpIdentifiersTree :: StringTypeNameListPair - _lhsOoriginalTree :: StringTypeNameListPair - _x2Ocat :: Catalog- _x2Oidenv :: IDEnv- _x2Olib :: LocalBindings- _x2IannotatedTree :: TypeNameList - _x2IfixedUpIdentifiersTree :: TypeNameList - _x2InamedTypes :: ([Maybe Type])- _x2IoriginalTree :: TypeNameList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 32, column 13)- _lhsOfnSig =- (x1_, _x2InamedTypes)- -- self rule- _annotatedTree =- (x1_,_x2IannotatedTree)- -- self rule- _fixedUpIdentifiersTree =- (x1_,_x2IfixedUpIdentifiersTree)- -- self rule- _originalTree =- (x1_,_x2IoriginalTree)- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _x2Ocat =- _lhsIcat- -- copy rule (down)- _x2Oidenv =- _lhsIidenv- -- copy rule (down)- _x2Olib =- _lhsIlib- ( _x2IannotatedTree,_x2IfixedUpIdentifiersTree,_x2InamedTypes,_x2IoriginalTree) =- x2_ _x2Ocat _x2Oidenv _x2Olib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOfnSig,_lhsOoriginalTree)))--- StringTypeNameListPairList -----------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - fnSigs : [(String,[Maybe Type])]- originalTree : SELF - alternatives:- alternative Cons:- child hd : StringTypeNameListPair - child tl : StringTypeNameListPairList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type StringTypeNameListPairList = [StringTypeNameListPair ]--- cata-sem_StringTypeNameListPairList :: StringTypeNameListPairList ->- T_StringTypeNameListPairList -sem_StringTypeNameListPairList list =- (Prelude.foldr sem_StringTypeNameListPairList_Cons sem_StringTypeNameListPairList_Nil (Prelude.map sem_StringTypeNameListPair list) )--- semantic domain-type T_StringTypeNameListPairList = Catalog ->- IDEnv ->- LocalBindings ->- ( StringTypeNameListPairList ,StringTypeNameListPairList ,([(String,[Maybe Type])]),StringTypeNameListPairList )-data Inh_StringTypeNameListPairList = Inh_StringTypeNameListPairList {cat_Inh_StringTypeNameListPairList :: Catalog,idenv_Inh_StringTypeNameListPairList :: IDEnv,lib_Inh_StringTypeNameListPairList :: LocalBindings}-data Syn_StringTypeNameListPairList = Syn_StringTypeNameListPairList {annotatedTree_Syn_StringTypeNameListPairList :: StringTypeNameListPairList ,fixedUpIdentifiersTree_Syn_StringTypeNameListPairList :: StringTypeNameListPairList ,fnSigs_Syn_StringTypeNameListPairList :: ([(String,[Maybe Type])]),originalTree_Syn_StringTypeNameListPairList :: StringTypeNameListPairList }-wrap_StringTypeNameListPairList :: T_StringTypeNameListPairList ->- Inh_StringTypeNameListPairList ->- Syn_StringTypeNameListPairList -wrap_StringTypeNameListPairList sem (Inh_StringTypeNameListPairList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOfnSigs,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_StringTypeNameListPairList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOfnSigs _lhsOoriginalTree ))-sem_StringTypeNameListPairList_Cons :: T_StringTypeNameListPair ->- T_StringTypeNameListPairList ->- T_StringTypeNameListPairList -sem_StringTypeNameListPairList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOfnSigs :: ([(String,[Maybe Type])])- _lhsOannotatedTree :: StringTypeNameListPairList - _lhsOfixedUpIdentifiersTree :: StringTypeNameListPairList - _lhsOoriginalTree :: StringTypeNameListPairList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: StringTypeNameListPair - _hdIfixedUpIdentifiersTree :: StringTypeNameListPair - _hdIfnSig :: ((String,[Maybe Type]))- _hdIoriginalTree :: StringTypeNameListPair - _tlIannotatedTree :: StringTypeNameListPairList - _tlIfixedUpIdentifiersTree :: StringTypeNameListPairList - _tlIfnSigs :: ([(String,[Maybe Type])])- _tlIoriginalTree :: StringTypeNameListPairList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 27, column 12)- _lhsOfnSigs =- _hdIfnSig : _tlIfnSigs- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIfnSig,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIfnSigs,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOfnSigs,_lhsOoriginalTree)))-sem_StringTypeNameListPairList_Nil :: T_StringTypeNameListPairList -sem_StringTypeNameListPairList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOfnSigs :: ([(String,[Maybe Type])])- _lhsOannotatedTree :: StringTypeNameListPairList - _lhsOfixedUpIdentifiersTree :: StringTypeNameListPairList - _lhsOoriginalTree :: StringTypeNameListPairList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 28, column 11)- _lhsOfnSigs =- []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOfnSigs,_lhsOoriginalTree)))--- TableAlias ---------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- expectedNumCols : Maybe Int- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative FullAlias:- child ann : {Annotation}- child tb : {String}- child cols : {[String]}- visit 0:- local errs : _- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative NoAlias:- child ann : {Annotation}- visit 0:- local backTree : _- local errs : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative TableAlias:- child ann : {Annotation}- child tb : {String}- visit 0:- local backTree : _- local errs : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data TableAlias = FullAlias (Annotation) (String) (([String])) - | NoAlias (Annotation) - | TableAlias (Annotation) (String) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_TableAlias :: TableAlias ->- T_TableAlias -sem_TableAlias (FullAlias _ann _tb _cols ) =- (sem_TableAlias_FullAlias _ann _tb _cols )-sem_TableAlias (NoAlias _ann ) =- (sem_TableAlias_NoAlias _ann )-sem_TableAlias (TableAlias _ann _tb ) =- (sem_TableAlias_TableAlias _ann _tb )--- semantic domain-type T_TableAlias = Catalog ->- (Maybe Int) ->- IDEnv ->- LocalBindings ->- ( TableAlias ,TableAlias ,TableAlias )-data Inh_TableAlias = Inh_TableAlias {cat_Inh_TableAlias :: Catalog,expectedNumCols_Inh_TableAlias :: (Maybe Int),idenv_Inh_TableAlias :: IDEnv,lib_Inh_TableAlias :: LocalBindings}-data Syn_TableAlias = Syn_TableAlias {annotatedTree_Syn_TableAlias :: TableAlias ,fixedUpIdentifiersTree_Syn_TableAlias :: TableAlias ,originalTree_Syn_TableAlias :: TableAlias }-wrap_TableAlias :: T_TableAlias ->- Inh_TableAlias ->- Syn_TableAlias -wrap_TableAlias sem (Inh_TableAlias _lhsIcat _lhsIexpectedNumCols _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIexpectedNumCols _lhsIidenv _lhsIlib - in (Syn_TableAlias _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_TableAlias_FullAlias :: Annotation ->- String ->- ([String]) ->- T_TableAlias -sem_TableAlias_FullAlias ann_ tb_ cols_ =- (\ _lhsIcat- _lhsIexpectedNumCols- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: TableAlias - _lhsOfixedUpIdentifiersTree :: TableAlias - _lhsOoriginalTree :: TableAlias - -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 286, column 9)- _lhsOannotatedTree =- addTypeErrors _errs _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 288, column 9)- _errs =- case _lhsIexpectedNumCols of- Nothing -> []- Just n -> if n == length cols_- then []- else [WrongNumberOfAliasCols n $ length cols_]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 293, column 9)- _backTree =- FullAlias ann_ tb_ cols_- -- self rule- _annotatedTree =- FullAlias ann_ tb_ cols_- -- self rule- _fixedUpIdentifiersTree =- FullAlias ann_ tb_ cols_- -- self rule- _originalTree =- FullAlias ann_ tb_ cols_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_TableAlias_NoAlias :: Annotation ->- T_TableAlias -sem_TableAlias_NoAlias ann_ =- (\ _lhsIcat- _lhsIexpectedNumCols- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: TableAlias - _lhsOfixedUpIdentifiersTree :: TableAlias - _lhsOoriginalTree :: TableAlias - -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 286, column 9)- _lhsOannotatedTree =- addTypeErrors _errs _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 296, column 15)- _backTree =- NoAlias ann_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 297, column 15)- _errs =- []- -- self rule- _annotatedTree =- NoAlias ann_- -- self rule- _fixedUpIdentifiersTree =- NoAlias ann_- -- self rule- _originalTree =- NoAlias ann_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_TableAlias_TableAlias :: Annotation ->- String ->- T_TableAlias -sem_TableAlias_TableAlias ann_ tb_ =- (\ _lhsIcat- _lhsIexpectedNumCols- _lhsIidenv- _lhsIlib ->- (let _lhsOannotatedTree :: TableAlias - _lhsOfixedUpIdentifiersTree :: TableAlias - _lhsOoriginalTree :: TableAlias - -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 286, column 9)- _lhsOannotatedTree =- addTypeErrors _errs _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 294, column 18)- _backTree =- TableAlias ann_ tb_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 295, column 18)- _errs =- []- -- self rule- _annotatedTree =- TableAlias ann_ tb_- -- self rule- _fixedUpIdentifiersTree =- TableAlias ann_ tb_- -- self rule- _originalTree =- TableAlias ann_ tb_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- TableRef -----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - libUpdates : [LocalBindingsUpdate]- newLib2 : LocalBindings- originalTree : SELF - trefIDs : [(String,[String])]- alternatives:- alternative FunTref:- child ann : {Annotation}- child fn : ScalarExpr - child alias : TableAlias - visit 0:- local _tup2 : {([(String,[String])],TableRef)}- local errs : _- local eqfunIdens : {Either [TypeError] (String,[(String,Type)])}- local qfunIdens : _- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative JoinTref:- child ann : {Annotation}- child tbl : TableRef - child nat : {Natural}- child joinType : {JoinType}- child tbl1 : TableRef - child onExpr : OnExpr - child alias : TableAlias - visit 0:- local _tup3 : _- local trefIDs : _- local errs : _- local joinErrors : _- local libUpdates : _- local newLib : {Either [TypeError] LocalBindings}- local newLib2 : _- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative SubTref:- child ann : {Annotation}- child sel : QueryExpr - child alias : TableAlias - visit 0:- local _tup4 : {([(String,[String])],TableRef)}- local errs : _- local selectAttrs : {Either [TypeError] [(String,Type)]}- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Tref:- child ann : {Annotation}- child tbl : SQIdentifier - child alias : TableAlias - visit 0:- local _tup5 : {([(String,[String])],TableRef)}- local errs : _- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data TableRef = FunTref (Annotation) (ScalarExpr ) (TableAlias ) - | JoinTref (Annotation) (TableRef ) (Natural) (JoinType) (TableRef ) (OnExpr ) (TableAlias ) - | SubTref (Annotation) (QueryExpr ) (TableAlias ) - | Tref (Annotation) (SQIdentifier ) (TableAlias ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_TableRef :: TableRef ->- T_TableRef -sem_TableRef (FunTref _ann _fn _alias ) =- (sem_TableRef_FunTref _ann (sem_ScalarExpr _fn ) (sem_TableAlias _alias ) )-sem_TableRef (JoinTref _ann _tbl _nat _joinType _tbl1 _onExpr _alias ) =- (sem_TableRef_JoinTref _ann (sem_TableRef _tbl ) _nat _joinType (sem_TableRef _tbl1 ) (sem_OnExpr _onExpr ) (sem_TableAlias _alias ) )-sem_TableRef (SubTref _ann _sel _alias ) =- (sem_TableRef_SubTref _ann (sem_QueryExpr _sel ) (sem_TableAlias _alias ) )-sem_TableRef (Tref _ann _tbl _alias ) =- (sem_TableRef_Tref _ann (sem_SQIdentifier _tbl ) (sem_TableAlias _alias ) )--- semantic domain-type T_TableRef = Catalog ->- IDEnv ->- LocalBindings ->- ( TableRef ,TableRef ,([LocalBindingsUpdate]),LocalBindings,TableRef ,([(String,[String])]))-data Inh_TableRef = Inh_TableRef {cat_Inh_TableRef :: Catalog,idenv_Inh_TableRef :: IDEnv,lib_Inh_TableRef :: LocalBindings}-data Syn_TableRef = Syn_TableRef {annotatedTree_Syn_TableRef :: TableRef ,fixedUpIdentifiersTree_Syn_TableRef :: TableRef ,libUpdates_Syn_TableRef :: ([LocalBindingsUpdate]),newLib2_Syn_TableRef :: LocalBindings,originalTree_Syn_TableRef :: TableRef ,trefIDs_Syn_TableRef :: ([(String,[String])])}-wrap_TableRef :: T_TableRef ->- Inh_TableRef ->- Syn_TableRef -wrap_TableRef sem (Inh_TableRef _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_TableRef _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOlibUpdates _lhsOnewLib2 _lhsOoriginalTree _lhsOtrefIDs ))-sem_TableRef_FunTref :: Annotation ->- T_ScalarExpr ->- T_TableAlias ->- T_TableRef -sem_TableRef_FunTref ann_ fn_ alias_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let __tup2 :: (([(String,[String])],TableRef))- _lhsOtrefIDs :: ([(String,[String])])- _lhsOfixedUpIdentifiersTree :: TableRef - _lhsOannotatedTree :: TableRef - _eqfunIdens :: (Either [TypeError] (String,[(String,Type)]))- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOnewLib2 :: LocalBindings- _aliasOexpectedNumCols :: (Maybe Int)- _fnOexpectedType :: (Maybe Type)- _lhsOoriginalTree :: TableRef - _fnOcat :: Catalog- _fnOidenv :: IDEnv- _fnOlib :: LocalBindings- _aliasOcat :: Catalog- _aliasOidenv :: IDEnv- _aliasOlib :: LocalBindings- _fnIannotatedTree :: ScalarExpr - _fnIfixedUpIdentifiersTree :: ScalarExpr - _fnIoriginalTree :: ScalarExpr - _fnIuType :: (Maybe Type)- _aliasIannotatedTree :: TableAlias - _aliasIfixedUpIdentifiersTree :: TableAlias - _aliasIoriginalTree :: TableAlias - -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 382, column 15)- __tup2 =- let (FunCall _ f _) = _fnIfixedUpIdentifiersTree- (trs,al) = doAlias _aliasIannotatedTree [(f,[f])]- in (trs,FunTref ann_ _fnIfixedUpIdentifiersTree al)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 382, column 15)- (_lhsOtrefIDs,_) =- __tup2- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 382, column 15)- (_,_lhsOfixedUpIdentifiersTree) =- __tup2- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 55, column 9)- _lhsOannotatedTree =- addTypeErrors _errs _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 102, column 9)- _errs =- case _eqfunIdens of- Left e -> e- Right _ -> []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 108, column 9)- _eqfunIdens =- funIdens _lhsIcat (getAlias "" _aliasIoriginalTree) _fnIannotatedTree _fnIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 109, column 9)- _lhsOlibUpdates =- [LBTref "fn"- (fst _qfunIdens )- (snd _qfunIdens )- []]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 113, column 9)- _qfunIdens =- fromRight ("",[]) _eqfunIdens- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 247, column 9)- _lhsOnewLib2 =- emptyBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 260, column 9)- _backTree =- FunTref ann_ _fnIannotatedTree _aliasIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 281, column 9)- _aliasOexpectedNumCols =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 120, column 15)- _fnOexpectedType =- Nothing- -- self rule- _annotatedTree =- FunTref ann_ _fnIannotatedTree _aliasIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- FunTref ann_ _fnIfixedUpIdentifiersTree _aliasIfixedUpIdentifiersTree- -- self rule- _originalTree =- FunTref ann_ _fnIoriginalTree _aliasIoriginalTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _fnOcat =- _lhsIcat- -- copy rule (down)- _fnOidenv =- _lhsIidenv- -- copy rule (down)- _fnOlib =- _lhsIlib- -- copy rule (down)- _aliasOcat =- _lhsIcat- -- copy rule (down)- _aliasOidenv =- _lhsIidenv- -- copy rule (down)- _aliasOlib =- _lhsIlib- ( _fnIannotatedTree,_fnIfixedUpIdentifiersTree,_fnIoriginalTree,_fnIuType) =- fn_ _fnOcat _fnOexpectedType _fnOidenv _fnOlib - ( _aliasIannotatedTree,_aliasIfixedUpIdentifiersTree,_aliasIoriginalTree) =- alias_ _aliasOcat _aliasOexpectedNumCols _aliasOidenv _aliasOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))-sem_TableRef_JoinTref :: Annotation ->- T_TableRef ->- Natural ->- JoinType ->- T_TableRef ->- T_OnExpr ->- T_TableAlias ->- T_TableRef -sem_TableRef_JoinTref ann_ tbl_ nat_ joinType_ tbl1_ onExpr_ alias_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOfixedUpIdentifiersTree :: TableRef - _lhsOtrefIDs :: ([(String,[String])])- _onExprOidenv :: IDEnv- _lhsOannotatedTree :: TableRef - _lhsOlibUpdates :: ([LocalBindingsUpdate])- _newLib :: (Either [TypeError] LocalBindings)- _lhsOnewLib2 :: LocalBindings- _onExprOlib :: LocalBindings- _aliasOexpectedNumCols :: (Maybe Int)- _lhsOoriginalTree :: TableRef - _tblOcat :: Catalog- _tblOidenv :: IDEnv- _tblOlib :: LocalBindings- _tbl1Ocat :: Catalog- _tbl1Oidenv :: IDEnv- _tbl1Olib :: LocalBindings- _onExprOcat :: Catalog- _aliasOcat :: Catalog- _aliasOidenv :: IDEnv- _aliasOlib :: LocalBindings- _tblIannotatedTree :: TableRef - _tblIfixedUpIdentifiersTree :: TableRef - _tblIlibUpdates :: ([LocalBindingsUpdate])- _tblInewLib2 :: LocalBindings- _tblIoriginalTree :: TableRef - _tblItrefIDs :: ([(String,[String])])- _tbl1IannotatedTree :: TableRef - _tbl1IfixedUpIdentifiersTree :: TableRef - _tbl1IlibUpdates :: ([LocalBindingsUpdate])- _tbl1InewLib2 :: LocalBindings- _tbl1IoriginalTree :: TableRef - _tbl1ItrefIDs :: ([(String,[String])])- _onExprIannotatedTree :: OnExpr - _onExprIfixedUpIdentifiersTree :: OnExpr - _onExprIoriginalTree :: OnExpr - _aliasIannotatedTree :: TableAlias - _aliasIfixedUpIdentifiersTree :: TableAlias - _aliasIoriginalTree :: TableAlias - -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 388, column 9)- __tup3 =- let (trs,al) = doAlias _aliasIannotatedTree $ _tblItrefIDs ++ _tbl1ItrefIDs- in (trs, JoinTref ann_ _tblIfixedUpIdentifiersTree- nat_ joinType_ _tbl1IfixedUpIdentifiersTree- _onExprIfixedUpIdentifiersTree al)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 388, column 9)- (_trefIDs,_) =- __tup3- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 388, column 9)- (_,_lhsOfixedUpIdentifiersTree) =- __tup3- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 394, column 9)- _lhsOtrefIDs =- _trefIDs- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 395, column 9)- _onExprOidenv =- IDEnv _trefIDs- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 55, column 9)- _lhsOannotatedTree =- addTypeErrors _errs _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 118, column 9)- _errs =- fromLeft [] _newLib- ++ _joinErrors- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 120, column 9)- _lhsOlibUpdates =- if _joinErrors == []- then _libUpdates- else []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 125, column 9)- _joinErrors =- fromLeft [] (foldM (flip $ lbUpdate _lhsIcat) _lhsIlib _libUpdates )- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 126, column 9)- _libUpdates =- case (_tblIlibUpdates, _tbl1IlibUpdates) of- ([u1], [u2]) -> [LBJoinTref "join" u1 u2 jids- (case _aliasIoriginalTree of- NoAlias _ -> Nothing- TableAlias _ t -> Just t- FullAlias _ t _ -> Just t)]- _ -> []- where- jids = case (nat_, _onExprIoriginalTree) of- (Natural, _) -> Left ()- (_,Just (JoinUsing _ s)) -> Right s- _ -> Right []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 140, column 9)- _newLib =- case (_tblIlibUpdates, _tbl1IlibUpdates) of- ([u1],[u2]) -> lbUpdate _lhsIcat- (LBJoinTref "join" u1 u2 (Right []) Nothing) _lhsIlib- _ -> Right _lhsIlib- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 220, column 9)- _newLib2 =- let t0t :: [(String,Maybe Type)]- t0t = getUnqualifiedBindings _tblInewLib2- t1t = getUnqualifiedBindings _tbl1InewLib2- in case _aliasIoriginalTree of- (FullAlias _ n cs) ->- createLocalBindings $ Just [(n,zip cs $ map snd (t0t ++ t1t))]- (TableAlias _ n) ->- createLocalBindings $ Just [(n, t0t ++ t1t)]- NoAlias _ ->- joinBindings _tblInewLib2 _tbl1InewLib2- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 233, column 9)- _lhsOnewLib2 =- _newLib2- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 234, column 9)- _onExprOlib =- _newLib2- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 262, column 9)- _backTree =- JoinTref ann_- _tblIannotatedTree- nat_- joinType_- _tbl1IannotatedTree- _onExprIannotatedTree- _aliasIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 281, column 9)- _aliasOexpectedNumCols =- Nothing- -- self rule- _annotatedTree =- JoinTref ann_ _tblIannotatedTree nat_ joinType_ _tbl1IannotatedTree _onExprIannotatedTree _aliasIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- JoinTref ann_ _tblIfixedUpIdentifiersTree nat_ joinType_ _tbl1IfixedUpIdentifiersTree _onExprIfixedUpIdentifiersTree _aliasIfixedUpIdentifiersTree- -- self rule- _originalTree =- JoinTref ann_ _tblIoriginalTree nat_ joinType_ _tbl1IoriginalTree _onExprIoriginalTree _aliasIoriginalTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _tblOcat =- _lhsIcat- -- copy rule (down)- _tblOidenv =- _lhsIidenv- -- copy rule (down)- _tblOlib =- _lhsIlib- -- copy rule (down)- _tbl1Ocat =- _lhsIcat- -- copy rule (down)- _tbl1Oidenv =- _lhsIidenv- -- copy rule (down)- _tbl1Olib =- _lhsIlib- -- copy rule (down)- _onExprOcat =- _lhsIcat- -- copy rule (down)- _aliasOcat =- _lhsIcat- -- copy rule (down)- _aliasOidenv =- _lhsIidenv- -- copy rule (down)- _aliasOlib =- _lhsIlib- ( _tblIannotatedTree,_tblIfixedUpIdentifiersTree,_tblIlibUpdates,_tblInewLib2,_tblIoriginalTree,_tblItrefIDs) =- tbl_ _tblOcat _tblOidenv _tblOlib - ( _tbl1IannotatedTree,_tbl1IfixedUpIdentifiersTree,_tbl1IlibUpdates,_tbl1InewLib2,_tbl1IoriginalTree,_tbl1ItrefIDs) =- tbl1_ _tbl1Ocat _tbl1Oidenv _tbl1Olib - ( _onExprIannotatedTree,_onExprIfixedUpIdentifiersTree,_onExprIoriginalTree) =- onExpr_ _onExprOcat _onExprOidenv _onExprOlib - ( _aliasIannotatedTree,_aliasIfixedUpIdentifiersTree,_aliasIoriginalTree) =- alias_ _aliasOcat _aliasOexpectedNumCols _aliasOidenv _aliasOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))-sem_TableRef_SubTref :: Annotation ->- T_QueryExpr ->- T_TableAlias ->- T_TableRef -sem_TableRef_SubTref ann_ sel_ alias_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let __tup4 :: (([(String,[String])],TableRef))- _lhsOtrefIDs :: ([(String,[String])])- _lhsOfixedUpIdentifiersTree :: TableRef - _selOcsql :: LocalBindings- _lhsOannotatedTree :: TableRef - _selectAttrs :: (Either [TypeError] [(String,Type)])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOnewLib2 :: LocalBindings- _aliasOexpectedNumCols :: (Maybe Int)- _selOexpectedTypes :: ([Maybe Type])- _lhsOoriginalTree :: TableRef - _selOcat :: Catalog- _selOidenv :: IDEnv- _selOlib :: LocalBindings- _aliasOcat :: Catalog- _aliasOidenv :: IDEnv- _aliasOlib :: LocalBindings- _selIannotatedTree :: QueryExpr - _selIcidenv :: IDEnv- _selIfixedUpIdentifiersTree :: QueryExpr - _selIlibUpdates :: ([LocalBindingsUpdate])- _selIoriginalTree :: QueryExpr - _selIuType :: (Maybe [(String,Type)])- _aliasIannotatedTree :: TableAlias - _aliasIfixedUpIdentifiersTree :: TableAlias - _aliasIoriginalTree :: TableAlias - -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 377, column 15)- __tup4 =- let IDEnv x = _selIcidenv- (trs,al) = doAlias _aliasIannotatedTree x- in (trs, SubTref ann_ _selIfixedUpIdentifiersTree al)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 377, column 15)- (_lhsOtrefIDs,_) =- __tup4- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 377, column 15)- (_,_lhsOfixedUpIdentifiersTree) =- __tup4- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 129, column 15)- _selOcsql =- emptyBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 55, column 9)- _lhsOannotatedTree =- addTypeErrors _errs _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 72, column 9)- _errs =- case _selectAttrs of- Left e -> e- Right _ -> []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 76, column 9)- _selectAttrs =- lmt _selIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 77, column 9)- _lhsOlibUpdates =- [LBTref "sub query" (getAlias "" _aliasIoriginalTree)- (fromRight [] _selectAttrs ) []]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 237, column 9)- _lhsOnewLib2 =- createLocalBindings $ do- pu <- _selIuType- let (n,cs) = case _aliasIoriginalTree of- (FullAlias _ n cs) -> (n,cs)- _ -> (n, [])- return [(n,zip cs $ map (Just . snd) pu)]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 256, column 9)- _backTree =- SubTref ann_ _selIannotatedTree _aliasIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 281, column 9)- _aliasOexpectedNumCols =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 180, column 15)- _selOexpectedTypes =- []- -- self rule- _annotatedTree =- SubTref ann_ _selIannotatedTree _aliasIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- SubTref ann_ _selIfixedUpIdentifiersTree _aliasIfixedUpIdentifiersTree- -- self rule- _originalTree =- SubTref ann_ _selIoriginalTree _aliasIoriginalTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _selOcat =- _lhsIcat- -- copy rule (down)- _selOidenv =- _lhsIidenv- -- copy rule (down)- _selOlib =- _lhsIlib- -- copy rule (down)- _aliasOcat =- _lhsIcat- -- copy rule (down)- _aliasOidenv =- _lhsIidenv- -- copy rule (down)- _aliasOlib =- _lhsIlib- ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =- sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib - ( _aliasIannotatedTree,_aliasIfixedUpIdentifiersTree,_aliasIoriginalTree) =- alias_ _aliasOcat _aliasOexpectedNumCols _aliasOidenv _aliasOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))-sem_TableRef_Tref :: Annotation ->- T_SQIdentifier ->- T_TableAlias ->- T_TableRef -sem_TableRef_Tref ann_ tbl_ alias_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let __tup5 :: (([(String,[String])],TableRef))- _lhsOtrefIDs :: ([(String,[String])])- _lhsOfixedUpIdentifiersTree :: TableRef - _lhsOannotatedTree :: TableRef - _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOnewLib2 :: LocalBindings- _aliasOexpectedNumCols :: (Maybe Int)- _lhsOoriginalTree :: TableRef - _tblOcat :: Catalog- _tblOidenv :: IDEnv- _tblOlib :: LocalBindings- _aliasOcat :: Catalog- _aliasOidenv :: IDEnv- _aliasOlib :: LocalBindings- _tblIannotatedTree :: SQIdentifier - _tblIfixedUpIdentifiersTree :: SQIdentifier - _tblIoriginalTree :: SQIdentifier - _tblItbAnnotatedTree :: SQIdentifier - _tblItbUType :: (Maybe ([(String,Type)],[(String,Type)]))- _aliasIannotatedTree :: TableAlias - _aliasIfixedUpIdentifiersTree :: TableAlias - _aliasIoriginalTree :: TableAlias - -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 369, column 12)- __tup5 =- let tn = getTName _tblIfixedUpIdentifiersTree- ids = case catCompositePublicAttrs _lhsIcat relationComposites tn of- Right attrs -> [(tn, map fst attrs)]- Left _ -> [(tn,[])]- (trs,al) = doAlias _aliasIannotatedTree ids- in (trs,Tref ann_ _tblIfixedUpIdentifiersTree al)- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 369, column 12)- (_lhsOtrefIDs,_) =- __tup5- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 369, column 12)- (_,_lhsOfixedUpIdentifiersTree) =- __tup5- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 55, column 9)- _lhsOannotatedTree =- addTypeErrors _errs _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 85, column 9)- _errs =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 86, column 9)- _lhsOlibUpdates =- maybe [] id $ do- let n = getTName _tblIannotatedTree- (pu,pr) <- _tblItbUType- return [LBTref ("tref: " ++ n)- (getAlias n _aliasIoriginalTree)- pu- pr]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 208, column 9)- _lhsOnewLib2 =- createLocalBindings $ do- let n = getTName _tblIannotatedTree- (pu,pr) <- _tblItbUType- let (n,cs) = case _aliasIoriginalTree of- (FullAlias _ n cs) -> (n,cs)- _ -> (n, [])- return [(n,zip cs $ map (Just . snd) pu)- ,(n,map (second Just) pr)]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 258, column 9)- _backTree =- Tref ann_ _tblItbAnnotatedTree _aliasIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 275, column 9)- _aliasOexpectedNumCols =- do- let n = getTName _tblIannotatedTree- (pu,_) <- _tblItbUType- return $ length pu- -- self rule- _annotatedTree =- Tref ann_ _tblIannotatedTree _aliasIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- Tref ann_ _tblIfixedUpIdentifiersTree _aliasIfixedUpIdentifiersTree- -- self rule- _originalTree =- Tref ann_ _tblIoriginalTree _aliasIoriginalTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _tblOcat =- _lhsIcat- -- copy rule (down)- _tblOidenv =- _lhsIidenv- -- copy rule (down)- _tblOlib =- _lhsIlib- -- copy rule (down)- _aliasOcat =- _lhsIcat- -- copy rule (down)- _aliasOidenv =- _lhsIidenv- -- copy rule (down)- _aliasOlib =- _lhsIlib- ( _tblIannotatedTree,_tblIfixedUpIdentifiersTree,_tblIoriginalTree,_tblItbAnnotatedTree,_tblItbUType) =- tbl_ _tblOcat _tblOidenv _tblOlib - ( _aliasIannotatedTree,_aliasIfixedUpIdentifiersTree,_aliasIoriginalTree) =- alias_ _aliasOcat _aliasOexpectedNumCols _aliasOidenv _aliasOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))--- TableRefList -------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - libUpdates : [LocalBindingsUpdate]- newLib2 : LocalBindings- originalTree : SELF - trefIDs : [(String,[String])]- alternatives:- alternative Cons:- child hd : TableRef - child tl : TableRefList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type TableRefList = [TableRef ]--- cata-sem_TableRefList :: TableRefList ->- T_TableRefList -sem_TableRefList list =- (Prelude.foldr sem_TableRefList_Cons sem_TableRefList_Nil (Prelude.map sem_TableRef list) )--- semantic domain-type T_TableRefList = Catalog ->- IDEnv ->- LocalBindings ->- ( TableRefList ,TableRefList ,([LocalBindingsUpdate]),LocalBindings,TableRefList ,([(String,[String])]))-data Inh_TableRefList = Inh_TableRefList {cat_Inh_TableRefList :: Catalog,idenv_Inh_TableRefList :: IDEnv,lib_Inh_TableRefList :: LocalBindings}-data Syn_TableRefList = Syn_TableRefList {annotatedTree_Syn_TableRefList :: TableRefList ,fixedUpIdentifiersTree_Syn_TableRefList :: TableRefList ,libUpdates_Syn_TableRefList :: ([LocalBindingsUpdate]),newLib2_Syn_TableRefList :: LocalBindings,originalTree_Syn_TableRefList :: TableRefList ,trefIDs_Syn_TableRefList :: ([(String,[String])])}-wrap_TableRefList :: T_TableRefList ->- Inh_TableRefList ->- Syn_TableRefList -wrap_TableRefList sem (Inh_TableRefList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_TableRefList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOlibUpdates _lhsOnewLib2 _lhsOoriginalTree _lhsOtrefIDs ))-sem_TableRefList_Cons :: T_TableRef ->- T_TableRefList ->- T_TableRefList -sem_TableRefList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOtrefIDs :: ([(String,[String])])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOnewLib2 :: LocalBindings- _lhsOannotatedTree :: TableRefList - _lhsOfixedUpIdentifiersTree :: TableRefList - _lhsOoriginalTree :: TableRefList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: TableRef - _hdIfixedUpIdentifiersTree :: TableRef - _hdIlibUpdates :: ([LocalBindingsUpdate])- _hdInewLib2 :: LocalBindings- _hdIoriginalTree :: TableRef - _hdItrefIDs :: ([(String,[String])])- _tlIannotatedTree :: TableRefList - _tlIfixedUpIdentifiersTree :: TableRefList - _tlIlibUpdates :: ([LocalBindingsUpdate])- _tlInewLib2 :: LocalBindings- _tlIoriginalTree :: TableRefList - _tlItrefIDs :: ([(String,[String])])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 365, column 12)- _lhsOtrefIDs =- _hdItrefIDs ++ _tlItrefIDs- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 61, column 9)- _lhsOlibUpdates =- _hdIlibUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 204, column 9)- _lhsOnewLib2 =- joinBindings _hdInewLib2 _tlInewLib2- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIlibUpdates,_hdInewLib2,_hdIoriginalTree,_hdItrefIDs) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIlibUpdates,_tlInewLib2,_tlIoriginalTree,_tlItrefIDs) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))-sem_TableRefList_Nil :: T_TableRefList -sem_TableRefList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOtrefIDs :: ([(String,[String])])- _lhsOlibUpdates :: ([LocalBindingsUpdate])- _lhsOnewLib2 :: LocalBindings- _lhsOannotatedTree :: TableRefList - _lhsOfixedUpIdentifiersTree :: TableRefList - _lhsOoriginalTree :: TableRefList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 366, column 11)- _lhsOtrefIDs =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 59, column 9)- _lhsOlibUpdates =- []- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 202, column 9)- _lhsOnewLib2 =- createLocalBindings $ Just []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))--- TypeAttributeDef ---------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - attrName : String- fixedUpIdentifiersTree : SELF - namedType : Maybe Type- originalTree : SELF - alternatives:- alternative TypeAttDef:- child ann : {Annotation}- child name : {String}- child typ : TypeName - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data TypeAttributeDef = TypeAttDef (Annotation) (String) (TypeName ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_TypeAttributeDef :: TypeAttributeDef ->- T_TypeAttributeDef -sem_TypeAttributeDef (TypeAttDef _ann _name _typ ) =- (sem_TypeAttributeDef_TypeAttDef _ann _name (sem_TypeName _typ ) )--- semantic domain-type T_TypeAttributeDef = Catalog ->- IDEnv ->- LocalBindings ->- ( TypeAttributeDef ,String,TypeAttributeDef ,(Maybe Type),TypeAttributeDef )-data Inh_TypeAttributeDef = Inh_TypeAttributeDef {cat_Inh_TypeAttributeDef :: Catalog,idenv_Inh_TypeAttributeDef :: IDEnv,lib_Inh_TypeAttributeDef :: LocalBindings}-data Syn_TypeAttributeDef = Syn_TypeAttributeDef {annotatedTree_Syn_TypeAttributeDef :: TypeAttributeDef ,attrName_Syn_TypeAttributeDef :: String,fixedUpIdentifiersTree_Syn_TypeAttributeDef :: TypeAttributeDef ,namedType_Syn_TypeAttributeDef :: (Maybe Type),originalTree_Syn_TypeAttributeDef :: TypeAttributeDef }-wrap_TypeAttributeDef :: T_TypeAttributeDef ->- Inh_TypeAttributeDef ->- Syn_TypeAttributeDef -wrap_TypeAttributeDef sem (Inh_TypeAttributeDef _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOattrName,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_TypeAttributeDef _lhsOannotatedTree _lhsOattrName _lhsOfixedUpIdentifiersTree _lhsOnamedType _lhsOoriginalTree ))-sem_TypeAttributeDef_TypeAttDef :: Annotation ->- String ->- T_TypeName ->- T_TypeAttributeDef -sem_TypeAttributeDef_TypeAttDef ann_ name_ typ_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOattrName :: String- _lhsOnamedType :: (Maybe Type)- _lhsOannotatedTree :: TypeAttributeDef - _lhsOfixedUpIdentifiersTree :: TypeAttributeDef - _lhsOoriginalTree :: TypeAttributeDef - _typOcat :: Catalog- _typOidenv :: IDEnv- _typOlib :: LocalBindings- _typIannotatedTree :: TypeName - _typIfixedUpIdentifiersTree :: TypeName - _typInamedType :: (Maybe Type)- _typIoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 37, column 9)- _lhsOattrName =- name_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 38, column 9)- _lhsOnamedType =- _typInamedType- -- self rule- _annotatedTree =- TypeAttDef ann_ name_ _typIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- TypeAttDef ann_ name_ _typIfixedUpIdentifiersTree- -- self rule- _originalTree =- TypeAttDef ann_ name_ _typIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _typOcat =- _lhsIcat- -- copy rule (down)- _typOidenv =- _lhsIidenv- -- copy rule (down)- _typOlib =- _lhsIlib- ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOidenv _typOlib - in ( _lhsOannotatedTree,_lhsOattrName,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))--- TypeAttributeDefList -----------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - attrs : [(String, Maybe Type)]- fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Cons:- child hd : TypeAttributeDef - child tl : TypeAttributeDefList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type TypeAttributeDefList = [TypeAttributeDef ]--- cata-sem_TypeAttributeDefList :: TypeAttributeDefList ->- T_TypeAttributeDefList -sem_TypeAttributeDefList list =- (Prelude.foldr sem_TypeAttributeDefList_Cons sem_TypeAttributeDefList_Nil (Prelude.map sem_TypeAttributeDef list) )--- semantic domain-type T_TypeAttributeDefList = Catalog ->- IDEnv ->- LocalBindings ->- ( TypeAttributeDefList ,([(String, Maybe Type)]),TypeAttributeDefList ,TypeAttributeDefList )-data Inh_TypeAttributeDefList = Inh_TypeAttributeDefList {cat_Inh_TypeAttributeDefList :: Catalog,idenv_Inh_TypeAttributeDefList :: IDEnv,lib_Inh_TypeAttributeDefList :: LocalBindings}-data Syn_TypeAttributeDefList = Syn_TypeAttributeDefList {annotatedTree_Syn_TypeAttributeDefList :: TypeAttributeDefList ,attrs_Syn_TypeAttributeDefList :: ([(String, Maybe Type)]),fixedUpIdentifiersTree_Syn_TypeAttributeDefList :: TypeAttributeDefList ,originalTree_Syn_TypeAttributeDefList :: TypeAttributeDefList }-wrap_TypeAttributeDefList :: T_TypeAttributeDefList ->- Inh_TypeAttributeDefList ->- Syn_TypeAttributeDefList -wrap_TypeAttributeDefList sem (Inh_TypeAttributeDefList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_TypeAttributeDefList _lhsOannotatedTree _lhsOattrs _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_TypeAttributeDefList_Cons :: T_TypeAttributeDef ->- T_TypeAttributeDefList ->- T_TypeAttributeDefList -sem_TypeAttributeDefList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOattrs :: ([(String, Maybe Type)])- _lhsOannotatedTree :: TypeAttributeDefList - _lhsOfixedUpIdentifiersTree :: TypeAttributeDefList - _lhsOoriginalTree :: TypeAttributeDefList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: TypeAttributeDef - _hdIattrName :: String- _hdIfixedUpIdentifiersTree :: TypeAttributeDef - _hdInamedType :: (Maybe Type)- _hdIoriginalTree :: TypeAttributeDef - _tlIannotatedTree :: TypeAttributeDefList - _tlIattrs :: ([(String, Maybe Type)])- _tlIfixedUpIdentifiersTree :: TypeAttributeDefList - _tlIoriginalTree :: TypeAttributeDefList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 43, column 12)- _lhsOattrs =- (_hdIattrName, _hdInamedType) : _tlIattrs- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIattrName,_hdIfixedUpIdentifiersTree,_hdInamedType,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIattrs,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_TypeAttributeDefList_Nil :: T_TypeAttributeDefList -sem_TypeAttributeDefList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOattrs :: ([(String, Maybe Type)])- _lhsOannotatedTree :: TypeAttributeDefList - _lhsOfixedUpIdentifiersTree :: TypeAttributeDefList - _lhsOoriginalTree :: TypeAttributeDefList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 44, column 11)- _lhsOattrs =- []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- TypeName -----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - namedType : Maybe Type- originalTree : SELF - alternatives:- alternative ArrayTypeName:- child ann : {Annotation}- child typ : TypeName - visit 0:- local tpe : _- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Prec2TypeName:- child ann : {Annotation}- child tn : {String}- child prec : {Integer}- child prec1 : {Integer}- visit 0:- local tpe : _- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative PrecTypeName:- child ann : {Annotation}- child tn : {String}- child prec : {Integer}- visit 0:- local tpe : _- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative SetOfTypeName:- child ann : {Annotation}- child typ : TypeName - visit 0:- local tpe : _- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative SimpleTypeName:- child ann : {Annotation}- child tn : {String}- visit 0:- local tpe : _- local backTree : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data TypeName = ArrayTypeName (Annotation) (TypeName ) - | Prec2TypeName (Annotation) (String) (Integer) (Integer) - | PrecTypeName (Annotation) (String) (Integer) - | SetOfTypeName (Annotation) (TypeName ) - | SimpleTypeName (Annotation) (String) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_TypeName :: TypeName ->- T_TypeName -sem_TypeName (ArrayTypeName _ann _typ ) =- (sem_TypeName_ArrayTypeName _ann (sem_TypeName _typ ) )-sem_TypeName (Prec2TypeName _ann _tn _prec _prec1 ) =- (sem_TypeName_Prec2TypeName _ann _tn _prec _prec1 )-sem_TypeName (PrecTypeName _ann _tn _prec ) =- (sem_TypeName_PrecTypeName _ann _tn _prec )-sem_TypeName (SetOfTypeName _ann _typ ) =- (sem_TypeName_SetOfTypeName _ann (sem_TypeName _typ ) )-sem_TypeName (SimpleTypeName _ann _tn ) =- (sem_TypeName_SimpleTypeName _ann _tn )--- semantic domain-type T_TypeName = Catalog ->- IDEnv ->- LocalBindings ->- ( TypeName ,TypeName ,(Maybe Type),TypeName )-data Inh_TypeName = Inh_TypeName {cat_Inh_TypeName :: Catalog,idenv_Inh_TypeName :: IDEnv,lib_Inh_TypeName :: LocalBindings}-data Syn_TypeName = Syn_TypeName {annotatedTree_Syn_TypeName :: TypeName ,fixedUpIdentifiersTree_Syn_TypeName :: TypeName ,namedType_Syn_TypeName :: (Maybe Type),originalTree_Syn_TypeName :: TypeName }-wrap_TypeName :: T_TypeName ->- Inh_TypeName ->- Syn_TypeName -wrap_TypeName sem (Inh_TypeName _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_TypeName _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOnamedType _lhsOoriginalTree ))-sem_TypeName_ArrayTypeName :: Annotation ->- T_TypeName ->- T_TypeName -sem_TypeName_ArrayTypeName ann_ typ_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOnamedType :: (Maybe Type)- _lhsOannotatedTree :: TypeName - _lhsOfixedUpIdentifiersTree :: TypeName - _lhsOoriginalTree :: TypeName - _typOcat :: Catalog- _typOidenv :: IDEnv- _typOlib :: LocalBindings- _typIannotatedTree :: TypeName - _typIfixedUpIdentifiersTree :: TypeName - _typInamedType :: (Maybe Type)- _typIoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 19, column 10)- _lhsOnamedType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 20, column 10)- _lhsOannotatedTree =- addTypeErrors (tes _tpe ) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 27, column 9)- _tpe =- lmt _typInamedType >>= Right . ArrayType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 28, column 9)- _backTree =- ArrayTypeName ann_ _typIannotatedTree- -- self rule- _annotatedTree =- ArrayTypeName ann_ _typIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- ArrayTypeName ann_ _typIfixedUpIdentifiersTree- -- self rule- _originalTree =- ArrayTypeName ann_ _typIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _typOcat =- _lhsIcat- -- copy rule (down)- _typOidenv =- _lhsIidenv- -- copy rule (down)- _typOlib =- _lhsIlib- ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOidenv _typOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))-sem_TypeName_Prec2TypeName :: Annotation ->- String ->- Integer ->- Integer ->- T_TypeName -sem_TypeName_Prec2TypeName ann_ tn_ prec_ prec1_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOnamedType :: (Maybe Type)- _lhsOannotatedTree :: TypeName - _lhsOfixedUpIdentifiersTree :: TypeName - _lhsOoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 19, column 10)- _lhsOnamedType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 20, column 10)- _lhsOannotatedTree =- addTypeErrors (tes _tpe ) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 9)- _tpe =- catLookupType _lhsIcat $ canonicalizeTypeName tn_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 9)- _backTree =- Prec2TypeName ann_ tn_ prec_ prec1_- -- self rule- _annotatedTree =- Prec2TypeName ann_ tn_ prec_ prec1_- -- self rule- _fixedUpIdentifiersTree =- Prec2TypeName ann_ tn_ prec_ prec1_- -- self rule- _originalTree =- Prec2TypeName ann_ tn_ prec_ prec1_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))-sem_TypeName_PrecTypeName :: Annotation ->- String ->- Integer ->- T_TypeName -sem_TypeName_PrecTypeName ann_ tn_ prec_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOnamedType :: (Maybe Type)- _lhsOannotatedTree :: TypeName - _lhsOfixedUpIdentifiersTree :: TypeName - _lhsOoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 19, column 10)- _lhsOnamedType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 20, column 10)- _lhsOannotatedTree =- addTypeErrors (tes _tpe ) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 33, column 9)- _tpe =- catLookupType _lhsIcat $ canonicalizeTypeName tn_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 34, column 9)- _backTree =- PrecTypeName ann_ tn_ prec_- -- self rule- _annotatedTree =- PrecTypeName ann_ tn_ prec_- -- self rule- _fixedUpIdentifiersTree =- PrecTypeName ann_ tn_ prec_- -- self rule- _originalTree =- PrecTypeName ann_ tn_ prec_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))-sem_TypeName_SetOfTypeName :: Annotation ->- T_TypeName ->- T_TypeName -sem_TypeName_SetOfTypeName ann_ typ_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOnamedType :: (Maybe Type)- _lhsOannotatedTree :: TypeName - _lhsOfixedUpIdentifiersTree :: TypeName - _lhsOoriginalTree :: TypeName - _typOcat :: Catalog- _typOidenv :: IDEnv- _typOlib :: LocalBindings- _typIannotatedTree :: TypeName - _typIfixedUpIdentifiersTree :: TypeName - _typInamedType :: (Maybe Type)- _typIoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 19, column 10)- _lhsOnamedType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 20, column 10)- _lhsOannotatedTree =- addTypeErrors (tes _tpe ) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 30, column 9)- _tpe =- lmt _typInamedType >>= Right . SetOfType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 31, column 9)- _backTree =- SetOfTypeName ann_ _typIannotatedTree- -- self rule- _annotatedTree =- SetOfTypeName ann_ _typIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- SetOfTypeName ann_ _typIfixedUpIdentifiersTree- -- self rule- _originalTree =- SetOfTypeName ann_ _typIoriginalTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _typOcat =- _lhsIcat- -- copy rule (down)- _typOidenv =- _lhsIidenv- -- copy rule (down)- _typOlib =- _lhsIlib- ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOidenv _typOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))-sem_TypeName_SimpleTypeName :: Annotation ->- String ->- T_TypeName -sem_TypeName_SimpleTypeName ann_ tn_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOnamedType :: (Maybe Type)- _lhsOannotatedTree :: TypeName - _lhsOfixedUpIdentifiersTree :: TypeName - _lhsOoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 19, column 10)- _lhsOnamedType =- etmt _tpe- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 20, column 10)- _lhsOannotatedTree =- addTypeErrors (tes _tpe ) _backTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 24, column 9)- _tpe =- catLookupType _lhsIcat $ canonicalizeTypeName tn_- -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 25, column 9)- _backTree =- SimpleTypeName ann_ tn_- -- self rule- _annotatedTree =- SimpleTypeName ann_ tn_- -- self rule- _fixedUpIdentifiersTree =- SimpleTypeName ann_ tn_- -- self rule- _originalTree =- SimpleTypeName ann_ tn_- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))--- TypeNameList -------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - namedTypes : [Maybe Type]- originalTree : SELF - alternatives:- alternative Cons:- child hd : TypeName - child tl : TypeNameList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type TypeNameList = [TypeName ]--- cata-sem_TypeNameList :: TypeNameList ->- T_TypeNameList -sem_TypeNameList list =- (Prelude.foldr sem_TypeNameList_Cons sem_TypeNameList_Nil (Prelude.map sem_TypeName list) )--- semantic domain-type T_TypeNameList = Catalog ->- IDEnv ->- LocalBindings ->- ( TypeNameList ,TypeNameList ,([Maybe Type]),TypeNameList )-data Inh_TypeNameList = Inh_TypeNameList {cat_Inh_TypeNameList :: Catalog,idenv_Inh_TypeNameList :: IDEnv,lib_Inh_TypeNameList :: LocalBindings}-data Syn_TypeNameList = Syn_TypeNameList {annotatedTree_Syn_TypeNameList :: TypeNameList ,fixedUpIdentifiersTree_Syn_TypeNameList :: TypeNameList ,namedTypes_Syn_TypeNameList :: ([Maybe Type]),originalTree_Syn_TypeNameList :: TypeNameList }-wrap_TypeNameList :: T_TypeNameList ->- Inh_TypeNameList ->- Syn_TypeNameList -wrap_TypeNameList sem (Inh_TypeNameList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedTypes,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_TypeNameList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOnamedTypes _lhsOoriginalTree ))-sem_TypeNameList_Cons :: T_TypeName ->- T_TypeNameList ->- T_TypeNameList -sem_TypeNameList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOnamedTypes :: ([Maybe Type])- _lhsOannotatedTree :: TypeNameList - _lhsOfixedUpIdentifiersTree :: TypeNameList - _lhsOoriginalTree :: TypeNameList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: TypeName - _hdIfixedUpIdentifiersTree :: TypeName - _hdInamedType :: (Maybe Type)- _hdIoriginalTree :: TypeName - _tlIannotatedTree :: TypeNameList - _tlIfixedUpIdentifiersTree :: TypeNameList - _tlInamedTypes :: ([Maybe Type])- _tlIoriginalTree :: TypeNameList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 37, column 12)- _lhsOnamedTypes =- _hdInamedType : _tlInamedTypes- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdInamedType,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlInamedTypes,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedTypes,_lhsOoriginalTree)))-sem_TypeNameList_Nil :: T_TypeNameList -sem_TypeNameList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOnamedTypes :: ([Maybe Type])- _lhsOannotatedTree :: TypeNameList - _lhsOfixedUpIdentifiersTree :: TypeNameList - _lhsOoriginalTree :: TypeNameList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 38, column 11)- _lhsOnamedTypes =- []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedTypes,_lhsOoriginalTree)))--- VarDef -------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - def : (String,Maybe Type)- fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative ParamAlias:- child ann : {Annotation}- child name : {String}- child i : {Integer}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative VarAlias:- child ann : {Annotation}- child name : {String}- child aliased : {String}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative VarDef:- child ann : {Annotation}- child name : {String}- child typ : TypeName - child value : {Maybe ScalarExpr}- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data VarDef = ParamAlias (Annotation) (String) (Integer) - | VarAlias (Annotation) (String) (String) - | VarDef (Annotation) (String) (TypeName ) ((Maybe ScalarExpr)) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_VarDef :: VarDef ->- T_VarDef -sem_VarDef (ParamAlias _ann _name _i ) =- (sem_VarDef_ParamAlias _ann _name _i )-sem_VarDef (VarAlias _ann _name _aliased ) =- (sem_VarDef_VarAlias _ann _name _aliased )-sem_VarDef (VarDef _ann _name _typ _value ) =- (sem_VarDef_VarDef _ann _name (sem_TypeName _typ ) _value )--- semantic domain-type T_VarDef = Catalog ->- IDEnv ->- LocalBindings ->- ( VarDef ,((String,Maybe Type)),VarDef ,VarDef )-data Inh_VarDef = Inh_VarDef {cat_Inh_VarDef :: Catalog,idenv_Inh_VarDef :: IDEnv,lib_Inh_VarDef :: LocalBindings}-data Syn_VarDef = Syn_VarDef {annotatedTree_Syn_VarDef :: VarDef ,def_Syn_VarDef :: ((String,Maybe Type)),fixedUpIdentifiersTree_Syn_VarDef :: VarDef ,originalTree_Syn_VarDef :: VarDef }-wrap_VarDef :: T_VarDef ->- Inh_VarDef ->- Syn_VarDef -wrap_VarDef sem (Inh_VarDef _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOdef,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_VarDef _lhsOannotatedTree _lhsOdef _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_VarDef_ParamAlias :: Annotation ->- String ->- Integer ->- T_VarDef -sem_VarDef_ParamAlias ann_ name_ i_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOdef :: ((String,Maybe Type))- _lhsOannotatedTree :: VarDef - _lhsOfixedUpIdentifiersTree :: VarDef - _lhsOoriginalTree :: VarDef - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 14, column 18)- _lhsOdef =- (name_, Nothing)- -- self rule- _annotatedTree =- ParamAlias ann_ name_ i_- -- self rule- _fixedUpIdentifiersTree =- ParamAlias ann_ name_ i_- -- self rule- _originalTree =- ParamAlias ann_ name_ i_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOdef,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_VarDef_VarAlias :: Annotation ->- String ->- String ->- T_VarDef -sem_VarDef_VarAlias ann_ name_ aliased_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOdef :: ((String,Maybe Type))- _lhsOannotatedTree :: VarDef - _lhsOfixedUpIdentifiersTree :: VarDef - _lhsOoriginalTree :: VarDef - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 13, column 16)- _lhsOdef =- (name_, Nothing)- -- self rule- _annotatedTree =- VarAlias ann_ name_ aliased_- -- self rule- _fixedUpIdentifiersTree =- VarAlias ann_ name_ aliased_- -- self rule- _originalTree =- VarAlias ann_ name_ aliased_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOdef,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_VarDef_VarDef :: Annotation ->- String ->- T_TypeName ->- (Maybe ScalarExpr) ->- T_VarDef -sem_VarDef_VarDef ann_ name_ typ_ value_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOdef :: ((String,Maybe Type))- _lhsOannotatedTree :: VarDef - _lhsOfixedUpIdentifiersTree :: VarDef - _lhsOoriginalTree :: VarDef - _typOcat :: Catalog- _typOidenv :: IDEnv- _typOlib :: LocalBindings- _typIannotatedTree :: TypeName - _typIfixedUpIdentifiersTree :: TypeName - _typInamedType :: (Maybe Type)- _typIoriginalTree :: TypeName - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 10, column 14)- _lhsOdef =- (name_, if _typInamedType == Just (Pseudo Record)- then Just (PgRecord Nothing)- else _typInamedType)- -- self rule- _annotatedTree =- VarDef ann_ name_ _typIannotatedTree value_- -- self rule- _fixedUpIdentifiersTree =- VarDef ann_ name_ _typIfixedUpIdentifiersTree value_- -- self rule- _originalTree =- VarDef ann_ name_ _typIoriginalTree value_- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _typOcat =- _lhsIcat- -- copy rule (down)- _typOidenv =- _lhsIidenv- -- copy rule (down)- _typOlib =- _lhsIlib- ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOidenv _typOlib - in ( _lhsOannotatedTree,_lhsOdef,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- VarDefList ---------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - defs : [(String,Maybe Type)]- fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative Cons:- child hd : VarDef - child tl : VarDefList - visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type VarDefList = [VarDef ]--- cata-sem_VarDefList :: VarDefList ->- T_VarDefList -sem_VarDefList list =- (Prelude.foldr sem_VarDefList_Cons sem_VarDefList_Nil (Prelude.map sem_VarDef list) )--- semantic domain-type T_VarDefList = Catalog ->- IDEnv ->- LocalBindings ->- ( VarDefList ,([(String,Maybe Type)]),VarDefList ,VarDefList )-data Inh_VarDefList = Inh_VarDefList {cat_Inh_VarDefList :: Catalog,idenv_Inh_VarDefList :: IDEnv,lib_Inh_VarDefList :: LocalBindings}-data Syn_VarDefList = Syn_VarDefList {annotatedTree_Syn_VarDefList :: VarDefList ,defs_Syn_VarDefList :: ([(String,Maybe Type)]),fixedUpIdentifiersTree_Syn_VarDefList :: VarDefList ,originalTree_Syn_VarDefList :: VarDefList }-wrap_VarDefList :: T_VarDefList ->- Inh_VarDefList ->- Syn_VarDefList -wrap_VarDefList sem (Inh_VarDefList _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOdefs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_VarDefList _lhsOannotatedTree _lhsOdefs _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_VarDefList_Cons :: T_VarDef ->- T_VarDefList ->- T_VarDefList -sem_VarDefList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOdefs :: ([(String,Maybe Type)])- _lhsOannotatedTree :: VarDefList - _lhsOfixedUpIdentifiersTree :: VarDefList - _lhsOoriginalTree :: VarDefList - _hdOcat :: Catalog- _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOcat :: Catalog- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: VarDef - _hdIdef :: ((String,Maybe Type))- _hdIfixedUpIdentifiersTree :: VarDef - _hdIoriginalTree :: VarDef - _tlIannotatedTree :: VarDefList - _tlIdefs :: ([(String,Maybe Type)])- _tlIfixedUpIdentifiersTree :: VarDefList - _tlIoriginalTree :: VarDefList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 17, column 12)- _lhsOdefs =- _hdIdef : _tlIdefs- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOcat =- _lhsIcat- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOcat =- _lhsIcat- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIdef,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIdefs,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =- tl_ _tlOcat _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOdefs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))-sem_VarDefList_Nil :: T_VarDefList -sem_VarDefList_Nil =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _lhsOdefs :: ([(String,Maybe Type)])- _lhsOannotatedTree :: VarDefList - _lhsOfixedUpIdentifiersTree :: VarDefList - _lhsOoriginalTree :: VarDefList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 18, column 11)- _lhsOdefs =- []- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOdefs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- WithQuery ----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - catUpdates : [CatalogUpdate]- fixedUpIdentifiersTree : SELF - originalTree : SELF - alternatives:- alternative WithQuery:- child ann : {Annotation}- child name : {String}- child colAliases : {Maybe [String]}- child ex : QueryExpr - visit 0:- local tpe : _- local backTree : _- local attrs : _- local catUpdates : _- local statementType : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-data WithQuery = WithQuery (Annotation) (String) ((Maybe [String])) (QueryExpr ) - deriving ( Data,Eq,Show,Typeable)--- cata-sem_WithQuery :: WithQuery ->- T_WithQuery -sem_WithQuery (WithQuery _ann _name _colAliases _ex ) =- (sem_WithQuery_WithQuery _ann _name _colAliases (sem_QueryExpr _ex ) )--- semantic domain-type T_WithQuery = Catalog ->- IDEnv ->- LocalBindings ->- ( WithQuery ,([CatalogUpdate]),WithQuery ,WithQuery )-data Inh_WithQuery = Inh_WithQuery {cat_Inh_WithQuery :: Catalog,idenv_Inh_WithQuery :: IDEnv,lib_Inh_WithQuery :: LocalBindings}-data Syn_WithQuery = Syn_WithQuery {annotatedTree_Syn_WithQuery :: WithQuery ,catUpdates_Syn_WithQuery :: ([CatalogUpdate]),fixedUpIdentifiersTree_Syn_WithQuery :: WithQuery ,originalTree_Syn_WithQuery :: WithQuery }-wrap_WithQuery :: T_WithQuery ->- Inh_WithQuery ->- Syn_WithQuery -wrap_WithQuery sem (Inh_WithQuery _lhsIcat _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib - in (Syn_WithQuery _lhsOannotatedTree _lhsOcatUpdates _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))-sem_WithQuery_WithQuery :: Annotation ->- String ->- (Maybe [String]) ->- T_QueryExpr ->- T_WithQuery -sem_WithQuery_WithQuery ann_ name_ colAliases_ ex_ =- (\ _lhsIcat- _lhsIidenv- _lhsIlib ->- (let _exOcsql :: LocalBindings- _exOexpectedTypes :: ([Maybe Type])- _lhsOannotatedTree :: WithQuery - _lhsOfixedUpIdentifiersTree :: WithQuery - _lhsOoriginalTree :: WithQuery - _lhsOcatUpdates :: ([CatalogUpdate])- _exOcat :: Catalog- _exOidenv :: IDEnv- _exOlib :: LocalBindings- _exIannotatedTree :: QueryExpr - _exIcidenv :: IDEnv- _exIfixedUpIdentifiersTree :: QueryExpr - _exIlibUpdates :: ([LocalBindingsUpdate])- _exIoriginalTree :: QueryExpr - _exIuType :: (Maybe [(String,Type)])- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 131, column 17)- _exOcsql =- emptyBindings- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 272, column 9)- _tpe =- Right $ Pseudo Void- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 273, column 9)- _backTree =- WithQuery ann_ name_ colAliases_ _exIannotatedTree- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 274, column 9)- _attrs =- maybe [] id $ _exIuType- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 275, column 9)- _catUpdates =- [CatCreateView name_ _attrs ]- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 276, column 9)- _statementType =- Nothing- -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 182, column 17)- _exOexpectedTypes =- []- -- self rule- _annotatedTree =- WithQuery ann_ name_ colAliases_ _exIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- WithQuery ann_ name_ colAliases_ _exIfixedUpIdentifiersTree- -- self rule- _originalTree =- WithQuery ann_ name_ colAliases_ _exIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (from local)- _lhsOcatUpdates =- _catUpdates- -- copy rule (down)- _exOcat =- _lhsIcat- -- copy rule (down)- _exOidenv =- _lhsIidenv- -- copy rule (down)- _exOlib =- _lhsIlib- ( _exIannotatedTree,_exIcidenv,_exIfixedUpIdentifiersTree,_exIlibUpdates,_exIoriginalTree,_exIuType) =- ex_ _exOcat _exOcsql _exOexpectedTypes _exOidenv _exOlib - in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))--- WithQueryList ------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- catUpdates : [CatalogUpdate]- idenv : IDEnv- lib : LocalBindings- synthesized attributes:- annotatedTree : SELF - fixedUpIdentifiersTree : SELF - originalTree : SELF - producedCat : Catalog- alternatives:- alternative Cons:- child hd : WithQuery - child tl : WithQueryList - visit 0:- local newCat : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _- alternative Nil:- visit 0:- local newCat : _- local annotatedTree : _- local fixedUpIdentifiersTree : _- local originalTree : _--}-type WithQueryList = [WithQuery ]--- cata-sem_WithQueryList :: WithQueryList ->- T_WithQueryList -sem_WithQueryList list =- (Prelude.foldr sem_WithQueryList_Cons sem_WithQueryList_Nil (Prelude.map sem_WithQuery list) )--- semantic domain-type T_WithQueryList = Catalog ->- ([CatalogUpdate]) ->- IDEnv ->- LocalBindings ->- ( WithQueryList ,WithQueryList ,WithQueryList ,Catalog)-data Inh_WithQueryList = Inh_WithQueryList {cat_Inh_WithQueryList :: Catalog,catUpdates_Inh_WithQueryList :: ([CatalogUpdate]),idenv_Inh_WithQueryList :: IDEnv,lib_Inh_WithQueryList :: LocalBindings}-data Syn_WithQueryList = Syn_WithQueryList {annotatedTree_Syn_WithQueryList :: WithQueryList ,fixedUpIdentifiersTree_Syn_WithQueryList :: WithQueryList ,originalTree_Syn_WithQueryList :: WithQueryList ,producedCat_Syn_WithQueryList :: Catalog}-wrap_WithQueryList :: T_WithQueryList ->- Inh_WithQueryList ->- Syn_WithQueryList -wrap_WithQueryList sem (Inh_WithQueryList _lhsIcat _lhsIcatUpdates _lhsIidenv _lhsIlib ) =- (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat) = sem _lhsIcat _lhsIcatUpdates _lhsIidenv _lhsIlib - in (Syn_WithQueryList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOproducedCat ))-sem_WithQueryList_Cons :: T_WithQuery ->- T_WithQueryList ->- T_WithQueryList -sem_WithQueryList_Cons hd_ tl_ =- (\ _lhsIcat- _lhsIcatUpdates- _lhsIidenv- _lhsIlib ->- (let _hdOcat :: Catalog- _tlOcat :: Catalog- _lhsOproducedCat :: Catalog- _tlOcatUpdates :: ([CatalogUpdate])- _lhsOannotatedTree :: WithQueryList - _lhsOfixedUpIdentifiersTree :: WithQueryList - _lhsOoriginalTree :: WithQueryList - _hdOidenv :: IDEnv- _hdOlib :: LocalBindings- _tlOidenv :: IDEnv- _tlOlib :: LocalBindings- _hdIannotatedTree :: WithQuery - _hdIcatUpdates :: ([CatalogUpdate])- _hdIfixedUpIdentifiersTree :: WithQuery - _hdIoriginalTree :: WithQuery - _tlIannotatedTree :: WithQueryList - _tlIfixedUpIdentifiersTree :: WithQueryList - _tlIoriginalTree :: WithQueryList - _tlIproducedCat :: Catalog- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 256, column 9)- _newCat =- fromRight _lhsIcat $ updateCatalog _lhsIcat _lhsIcatUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 258, column 9)- _hdOcat =- _newCat- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 259, column 9)- _tlOcat =- _newCat- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 263, column 9)- _lhsOproducedCat =- _tlIproducedCat- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 266, column 9)- _tlOcatUpdates =- _hdIcatUpdates- -- self rule- _annotatedTree =- (:) _hdIannotatedTree _tlIannotatedTree- -- self rule- _fixedUpIdentifiersTree =- (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree- -- self rule- _originalTree =- (:) _hdIoriginalTree _tlIoriginalTree- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- -- copy rule (down)- _hdOidenv =- _lhsIidenv- -- copy rule (down)- _hdOlib =- _lhsIlib- -- copy rule (down)- _tlOidenv =- _lhsIidenv- -- copy rule (down)- _tlOlib =- _lhsIlib- ( _hdIannotatedTree,_hdIcatUpdates,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =- hd_ _hdOcat _hdOidenv _hdOlib - ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIproducedCat) =- tl_ _tlOcat _tlOcatUpdates _tlOidenv _tlOlib - in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat)))-sem_WithQueryList_Nil :: T_WithQueryList -sem_WithQueryList_Nil =- (\ _lhsIcat- _lhsIcatUpdates- _lhsIidenv- _lhsIlib ->- (let _lhsOproducedCat :: Catalog- _lhsOannotatedTree :: WithQueryList - _lhsOfixedUpIdentifiersTree :: WithQueryList - _lhsOoriginalTree :: WithQueryList - -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 256, column 9)- _newCat =- fromRight _lhsIcat $ updateCatalog _lhsIcat _lhsIcatUpdates- -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 268, column 9)- _lhsOproducedCat =- _newCat- -- self rule- _annotatedTree =- []- -- self rule- _fixedUpIdentifiersTree =- []- -- self rule- _originalTree =- []- -- self rule- _lhsOannotatedTree =- _annotatedTree- -- self rule- _lhsOfixedUpIdentifiersTree =- _fixedUpIdentifiersTree- -- self rule- _lhsOoriginalTree =- _originalTree- in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat)))+-- UUAGC 0.9.39.1 (src/Database/HsSqlPpp/Internals/AstInternal.ag)+module Database.HsSqlPpp.Internals.AstInternal(+ -- {-# LANGUAGE DeriveDataTypeable,ScopedTypeVariables #-}+ --from the ag files:+ --ast nodes+ Statement (..)+ ,QueryExpr (..)+ ,WithQueryList+ ,WithQuery(..)+ ,FnBody (..)+ ,SetClause (..)+ ,SetClauseList+ ,TableRef (..)+ ,TableAlias(..)+ ,JoinExpr (..)+ ,JoinType (..)+ ,SelectList (..)+ ,SelectItem (..)+ ,CopySource (..)+ ,AttributeDef (..)+ ,RowConstraint (..)+ ,AlterTableAction(..)+ ,Constraint (..)+ ,TypeAttributeDef (..)+ ,ParamDef (..)+ ,VarDef (..)+ ,RaiseType (..)+ ,CombineType (..)+ ,Volatility (..)+ ,Language (..)+ ,TypeName (..)+ ,DropType (..)+ ,Cascade (..)+ ,Direction (..)+ ,Distinct (..)+ ,Natural (..)+ ,IfExists (..)+ ,Replace(..)+ ,RestartIdentity (..)+ ,ScalarExpr (..)+ ,Name(..)+ ,NameComponent(..)+ ,ncStr+ ,IntervalField(..)+ ,ExtractField(..)+ ,FrameClause(..)+ ,InList (..)+ ,LiftFlavour(..)+ ,TriggerWhen(..)+ ,TriggerEvent(..)+ ,TriggerFire(..)+ ,StatementList+ ,ScalarExprListStatementListPairList+ ,ScalarExprListStatementListPair+ ,ScalarExprList+ ,ParamDefList+ ,AttributeDefList+ ,ConstraintList+ ,TypeAttributeDefList+ ,TypeNameList+ ,NameTypeNameListPair+ ,NameTypeNameListPairList+ ,ScalarExprStatementListPairList+ --,SetClauseList+ ,CaseScalarExprListScalarExprPairList+ ,MaybeScalarExpr+ ,TableRefList+ ,ScalarExprListList+ ,SelectItemList+ ,OnExpr+ ,RowConstraintList+ ,VarDefList+ ,ScalarExprStatementListPair+ ,CaseScalarExprListScalarExprPair+ ,ScalarExprDirectionPair+ ,ScalarExprDirectionPairList+ ,MaybeBoolExpr+ ,MaybeSelectList+ ,SetValue(..)+ ,AlterTableActionList+ ,NameComponentList+ ,MaybeNameComponentList+ -- typechecking+ ,typeCheckStatements+ ,typeCheckParameterizedStatement+ ,typeCheckScalarExpr+ ,typeCheckQueryExpr+ ,fixUpIdentifiers+ ,fixUpIdentifiersQE+ ,fixUpIdentifiersSE+) where++import Data.Maybe+import Data.Either+import Data.List+import Control.Applicative+import Data.Data+import Data.Char+import Control.Monad.State+import Control.Arrow++import Data.Generics.Uniplate.Data+import Debug.Trace+--import Text.Groom+++import Database.HsSqlPpp.Internals.TypeType+import Database.HsSqlPpp.Internals.TypeChecking.TypeConversion+import Database.HsSqlPpp.Internals.AstAnnotation+import Database.HsSqlPpp.Internals.Catalog.CatalogInternal+import Database.HsSqlPpp.Internals.TypeChecking.LocalBindings+import Database.HsSqlPpp.Internals.TypeChecking.ErrorUtils+import Database.HsSqlPpp.Utils.Utils+import Database.HsSqlPpp.Internals.TypeChecking.IDEnv++++data NameComponent = Nmc String+ | QNmc String -- quoted+ deriving (Data,Eq,Show,Typeable)+-- this is a transition function+-- it should be removed when ready, since all the code+-- should be working with NameComponents directly+ncStr :: NameComponent -> String+ncStr (Nmc n) = n+ncStr (QNmc n) = n+++data JoinType = Inner | LeftOuter| RightOuter | FullOuter | Cross+ deriving (Show,Eq,Typeable,Data)+++data CopySource = CopyFilename String+ | Stdin+ deriving (Show,Eq,Typeable,Data)+++data SetValue+ = SetStr Annotation String+ | SetId Annotation String+ | SetNum Annotation Double+ deriving (Show,Eq,Typeable,Data)+++data TriggerWhen = TriggerBefore | TriggerAfter+ deriving (Show,Eq,Typeable,Data)+data TriggerEvent = TInsert| TUpdate | TDelete | AntiTriggerEvent String+ deriving (Show,Eq,Typeable,Data)+data TriggerFire = EachRow | EachStatement+ deriving (Show,Eq,Typeable,Data)+++data RaiseType = RNotice | RException | RError+ deriving (Show,Eq,Typeable,Data)++data CombineType = Except | Union | Intersect | UnionAll+ deriving (Show,Eq,Typeable,Data)++data Volatility = Volatile | Stable | Immutable+ deriving (Show,Eq,Typeable,Data)++data Language = Sql | Plpgsql+ deriving (Show,Eq,Typeable,Data)+++data DropType = Table+ | Domain+ | View+ | Type+ deriving (Show,Eq,Typeable,Data)++data Cascade = Cascade | Restrict+ deriving (Show,Eq,Typeable,Data)++data Direction = Asc | Desc+ deriving (Show,Eq,Typeable,Data)++data Distinct = Distinct | Dupes+ deriving (Show,Eq,Typeable,Data)++data Natural = Natural | Unnatural+ deriving (Show,Eq,Typeable,Data)++data IfExists = Require | IfExists+ deriving (Show,Eq,Typeable,Data)++data Replace = Replace | NoReplace+ deriving (Show,Eq,Typeable,Data)++data RestartIdentity = RestartIdentity | ContinueIdentity+ deriving (Show,Eq,Typeable,Data)++++data LiftFlavour = LiftAny | LiftAll+ deriving (Show,Eq,Typeable,Data)++data IntervalField = IntervalYear+ | IntervalMonth+ | IntervalDay+ | IntervalHour+ | IntervalMinute+ | IntervalSecond+ | IntervalYearToMonth+ | IntervalDayToHour+ | IntervalDayToMinute+ | IntervalDayToSecond+ | IntervalHourToMinute+ | IntervalHourToSecond+ | IntervalMinuteToSecond+ deriving (Show,Eq,Typeable,Data)++data ExtractField = ExtractCentury+ | ExtractDay+ | ExtractDecade+ | ExtractDow+ | ExtractDoy+ | ExtractEpoch+ | ExtractHour+ | ExtractIsodow+ | ExtractIsoyear+ | ExtractMicroseconds+ | ExtractMillennium+ | ExtractMilliseconds+ | ExtractMinute+ | ExtractMonth+ | ExtractQuarter+ | ExtractSecond+ | ExtractTimezone+ | ExtractTimezoneHour+ | ExtractTimezoneMinute+ | ExtractWeek+ | ExtractYear+ deriving (Show,Eq,Typeable,Data)++++data FrameClause = FrameUnboundedPreceding+ | FrameUnboundedFull+ | FrameRowsUnboundedPreceding+ deriving (Show,Eq,Typeable,Data)+++-- | Takes an ast, checks against catalog passed, and adds+-- annotations, including types, type errors, and statement info.+-- Returns the updated catalog as well as the annotated ast.+typeCheckStatements :: Catalog -> [Statement] -> (Catalog,[Statement])+typeCheckStatements cat sts =+ let t = sem_Root (Root $ fixUpIdentifiers cat sts)+ ta = wrap_Root t Inh_Root {cat_Inh_Root = cat+ ,lib_Inh_Root = emptyBindings+ ,idenv_Inh_Root = emptyIDEnv "tcs"}+ tl = annotatedTree_Syn_Root ta+ cat1 = producedCat_Syn_Root ta+ in case tl of+ Root r -> (cat1,r)++typeCheckQueryExpr :: Catalog -> QueryExpr -> QueryExpr+typeCheckQueryExpr cat qe =+ let (_,[QueryStatement _ qe']) = typeCheckStatements cat [QueryStatement emptyAnnotation qe]+ in qe'++-- | Unfinished version of type check which can type check an+-- individual statement with ? or positional arg placeholders in+-- it. Will error if the statement isn't select, update, insert or+-- delete. For use in type checking embedded parameterized+-- statements. Does all typechecking and annotation that the regular+-- typecheck does.+typeCheckParameterizedStatement :: Catalog -> Statement -> Either String Statement+typeCheckParameterizedStatement cat st =+ case st of+ QueryStatement _ _ -> tc+ Insert _ _ _ _ _ -> tc+ Update _ _ _ _ _ _ -> tc+ Delete _ _ _ _ _ -> tc+ _ -> Left "requires select, update, insert or delete statement"+ where+ tc = let t = sem_Root (Root $ fixUpIdentifiers cat [st])+ ta = wrap_Root t Inh_Root {cat_Inh_Root = cat+ ,lib_Inh_Root = emptyBindings+ ,idenv_Inh_Root = emptyIDEnv "tsps"}+ tl = annotatedTree_Syn_Root ta+ --cat1 = producedCat_Syn_Root ta+ in case tl of+ Root [st1] -> Right st1+ _ -> error "impossible happened in typeCheckPS!"+++-- | Testing utility, mainly used to check an expression for type errors+-- or to get its type.+typeCheckScalarExpr :: Catalog -> ScalarExpr -> ScalarExpr+typeCheckScalarExpr cat ex =+ let t = sem_ScalarExprRoot (ScalarExprRoot $ fixUpIdentifiersSE cat ex)+ rt = (annotatedTree_Syn_ScalarExprRoot+ (wrap_ScalarExprRoot t Inh_ScalarExprRoot {cat_Inh_ScalarExprRoot = cat+ ,lib_Inh_ScalarExprRoot = emptyBindings+ ,idenv_Inh_ScalarExprRoot = emptyIDEnv "tcse"}))+ in case rt of+ ScalarExprRoot e -> e++++{-++get alias: want to return the fullest alias possible at each stage+if all the columns have the same qualifier, then this is a full alias+if they don't, then has to be no alias++-}+getEnvAlias :: IDEnv -> TableAlias+getEnvAlias i =+ case expandStar i Nothing of+ Just is'@((q,_):_) | all (==q) $ map fst is' ->+ FullAlias emptyAnnotation (Nmc q) $ map (Nmc . snd) is'+ _ -> NoAlias emptyAnnotation+++aliasEnv :: TableAlias -> IDEnv -> IDEnv+aliasEnv (NoAlias _) ids = ids+aliasEnv (TableAlias _ t) ids = TableAliasIDEnv (ncStr t) ids+aliasEnv (FullAlias _ t cs) ids = FullAliasIDEnv (ncStr t) (map ncStr cs) ids+++getTableTrefEnv :: Catalog -> Name -> IDEnv+getTableTrefEnv cat si =+ let tn = getTName si+ (pus,pvs) = either (const ([],[])) id+ $ catCompositeAttrsPair cat relationComposites tn+ in TrefIDEnv tn (map fst pus) (map fst pvs)+++++makeSelExps :: Annotation -> Annotation -> Annotation -> [(String,String)] -> [SelectItem]+makeSelExps sea a0 a1 is =+ flip map is $ \(q,c) -> addSIAlias $ SelExp sea $ QIdentifier a0 [Nmc q,Nmc c]++addSIAlias :: SelectItem -> SelectItem+addSIAlias s@(SelectItem _ _ _) = s+addSIAlias (SelExp ann ex) = SelectItem ann ex $ getColName ex+ where+ getColName :: ScalarExpr -> NameComponent+ getColName (Identifier _ i) = i+ getColName (QIdentifier _ is) = last is+ getColName (FunCall _ f@(Name _ ncs) _) | not (isOperatorName $ getTName f) = last ncs+ getColName (Cast _ _ (SimpleTypeName _ tn)) = QNmc tn+ getColName (WindowFn _ (FunCall _ f@(Name _ ncs) _) _ _ _) = last ncs+ getColName (AggregateFn _ _ (FunCall _ f@(Name _ ncs) _) _) = last ncs+ getColName _ = QNmc "?column?"+++++++++-- | transform the tree by converting * to explicit lists of columns and adding qualifiers to all column references+fixUpIdentifiers :: Catalog -> [Statement] -> [Statement]+fixUpIdentifiers cat sts =+ let t = sem_Root (Root sts)+ ta = wrap_Root t Inh_Root {cat_Inh_Root = cat+ ,lib_Inh_Root = emptyBindings+ ,idenv_Inh_Root = emptyIDEnv "fixupidentifiers [st]"}+ tl = fixedUpIdentifiersTree_Syn_Root ta+ in case tl of+ Root r -> countHack r++fixUpIdentifiersSE :: Catalog -> ScalarExpr -> ScalarExpr+fixUpIdentifiersSE cat sts =+ let t = sem_ScalarExprRoot (ScalarExprRoot sts)+ ta = wrap_ScalarExprRoot t Inh_ScalarExprRoot {cat_Inh_ScalarExprRoot = cat+ ,lib_Inh_ScalarExprRoot = emptyBindings+ ,idenv_Inh_ScalarExprRoot = emptyIDEnv "fixupidentifiers se"}+ tl = fixedUpIdentifiersTree_Syn_ScalarExprRoot ta+ in case tl of+ ScalarExprRoot r -> countHack r++fixUpIdentifiersQE :: Catalog -> QueryExpr -> QueryExpr+fixUpIdentifiersQE cat qe =+ let [QueryStatement _ qe'] = fixUpIdentifiers cat [QueryStatement emptyAnnotation qe]+ in countHack qe'++{-++small hack to convert count(*) into count(True).++The fix is: when typechecking, just use a hack to typecheck an+aggregate call with a single * as the argument as if it had no+arguments.++-}+countHack :: Data a => a -> a+countHack = transformBi $ \x -> case x of+ FunCall a f [Star ia] | getTName f == "count"->+ FunCall a f [BooleanLit ia True]+ x1 -> x1++++showit :: Show a => String -> a -> a+showit a t = trace (a ++ show t ++ "\n\n") t+++getUnqual :: [NameComponent] -> String+getUnqual [] = error $ "empty name component"+getUnqual x = ncStr $ last x++++addTypeErrors :: Data a => [TypeError] -> a -> a+addTypeErrors es el = updateAnnotation u el+ where+ u a = a {errs = errs a ++ es}++setTypeAddErrors :: Data a => Et -> a -> a+setTypeAddErrors et el = updateAnnotation (setTypeAddErrorsA et) el++setTypeAddErrorsA :: Et -> Annotation -> Annotation+setTypeAddErrorsA et a =+ let a1 = a {errs = errs a ++ tes et}+ in case atype a1 of+ Just _ -> a1 {errs = errs a+ ++ [InternalError $ "tried to set type a second time - " ++ show (etmt et)]}+ Nothing -> a1 {atype = etmt et}++allJust :: [Maybe a] -> Maybe [a]+allJust ts = sequence ts++-- bit dogdy, needs some thought+-- this is just to convert the new approach of using "." as an operator+-- to construct names, with the old approach which stuck the whole lot+-- in a string+getName :: ScalarExpr -> String+getName (Identifier _ i) = ncStr i+getName (FunCall _ f [Identifier _ _,Identifier _ i]) | getTName f == "." = ncStr i+getName (FunCall _ f [_,a]) | getTName f == "." = getName a+getName x = error $ "internal error getName called on: " ++ show x++getTName :: Name -> String+getTName (Name _ n) = getUnqual n+getTName x = error $ "internal error getName called on: " ++ show x+++unwrapLookup :: (String,[String],Type) -> Type+unwrapLookup (_,_,t) = t++allAtts :: ([(String,Type)],[(String,Type)]) -> [(String,Type)]+allAtts (a,b) = a ++ b++++typeCheckValuesExpr :: Catalog -> [[Maybe Type]] -> Either [TypeError] Type+typeCheckValuesExpr cat rowsTs = do+ rts <- lmt $ allJust $ map allJust rowsTs+ let colNames = zipWith (++)+ (repeat "column")+ (map show [1..length $ head rowsTs])+ unionRelTypes cat rts colNames+++typeCheckCombineSelect :: Catalog -> Type -> Type -> Either [TypeError] Type+typeCheckCombineSelect cat v1 v2 = do+ u1 <- unwrapSetOfComposite v1+ let colNames = map fst u1+ u2 <- unwrapSetOfComposite v2+ let colTypes1 = map snd u1+ let colTypes2 = map snd u2+ unionRelTypes cat [colTypes1,colTypes2] colNames++unionRelTypes :: Catalog -> [[Type]] -> [String] -> Either [TypeError] Type+unionRelTypes cat rowsTs colNames =+ let lengths = map length rowsTs+ in case () of+ _ | null rowsTs ->+ Left [NoRowsGivenForValues]+ | not (all (==head lengths) lengths) ->+ Left [ValuesListsMustBeSameLength]+ | otherwise ->+ --i don't think this propagates all the errors, just the first set+ mapM (resolveResultSetType cat) (transpose rowsTs) >>=+ (return . SetOfType . CompositeType . zip colNames)+++++++{-+convert a function call into a [String,[(string,type)]] list for use+in a tableref context+first consideration is the alias: if there is an alias in the select,+e.g. select * from generate_series(1,2) x; (alias is x)+we use that, otherwise you use the name of the function+second consideration is the attributes coming out, roughly speaking+we have to convert an arbitrary type to a relation type+if you have a relation valued function, we don't need to do anything+if you have a setof non composite, we lift the single type to an+attribute, using the function name for the attribute name+if you have a non setof, we lift the single type to an attribute and+then relation, using the function name for the attribute name+need to check to see what should happen with arrayof++-}++ -- @lhs.cat @alias.originalTree @fn.annotatedTree @fn.uType+-- should always get full alias++funIdens :: Catalog -> TableAlias -> ScalarExpr -> Maybe Type -> Either [TypeError] (String,[(String,Type)])+funIdens cat (FullAlias _ t cs) (FunCall _ fnName _) ft = do+ {-errorWhen (case fnVal of+ FunCall _ _ _ -> False+ _ -> True)+ [ContextError "FunCall"]+ let (FunCall _ fnName _) = fnVal+ cn = if alias /= ""+ then alias+ else fnName-}+ attrs <- do+ fnt <- lmt ft+ case fnt of+ SetOfType (NamedCompositeType t) -> do+ x <- catCompositePublicAttrs cat [] t+ let aliaslen = length cs+ gotlen = length x+ if aliaslen == gotlen+ then return $ zip cs $ map snd x+ else Left [WrongNumberOfAliasCols gotlen aliaslen]++ SetOfType x | [c] <- cs -> return [(c,x)]+ | otherwise -> Left [WrongNumberOfAliasCols 1 $ length cs]+ x | [c] <- cs -> return [(c,x)]+ | otherwise -> Left [WrongNumberOfAliasCols 1 $ length cs]+ return (ncStr t, map (first ncStr) attrs)++getAlias :: String -> TableAlias -> String+getAlias def alias =+ case alias of+ NoAlias _ -> def+ TableAlias _ t -> ncStr t+ FullAlias _ t _ -> ncStr t++++{-data SiType = SiType (String,Maybe Type)+ | SiStarType [(String,Maybe Type)]-}+++--unwrapSetofs :: [(String,Type)] -> [(String,Type)]+--unwrapSetofs = map (\(n,t) -> (n, unwrapSetof t))++unwrapSetof :: Type -> Type+unwrapSetof (SetOfType u) = u+unwrapSetof v = v++++makeTrefLib :: Catalog+ -> Name+ -> Maybe ([(String,Type)],[(String,Type)])+ -> E LocalBindings+makeTrefLib cat si tbUType = Right $ createLocalBindings $ do+ let n = getTName si+ -- public and pg internal fields+ (pu,pr) <- tbUType+ return [(n,map (second Just) pu)+ ,(n,map (second Just) pr)]++++defaultSystemColumns :: [(String,Type)]+defaultSystemColumns = [("tableoid", ScalarType "oid")+ ,("cmax", ScalarType "cid")+ ,("xmax", ScalarType "xid")+ ,("cmin", ScalarType "cid")+ ,("xmin", ScalarType "xid")+ ,("ctid", ScalarType "tid")]+++data ParamName = NamedParam Int String+ | UnnamedParam Int+++getPlaceholderTypes :: Data a => a -> [Maybe Type]+getPlaceholderTypes ex =+ [infType (getAnnotation x) | x <- universeBi ex+ , isPlaceholder x]+ where+ isPlaceholder e = case e of+ PositionalArg _ _ -> True+ Placeholder _ -> True+ _ -> False++-- AlterTableAction --------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative AddConstraint:+ child ann : {Annotation}+ child con : Constraint + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative AlterColumnDefault:+ child ann : {Annotation}+ child nm : {NameComponent}+ child def : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data AlterTableAction = AddConstraint (Annotation) (Constraint ) + | AlterColumnDefault (Annotation) (NameComponent) (ScalarExpr ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_AlterTableAction :: AlterTableAction ->+ T_AlterTableAction +sem_AlterTableAction (AddConstraint _ann _con ) =+ (sem_AlterTableAction_AddConstraint _ann (sem_Constraint _con ) )+sem_AlterTableAction (AlterColumnDefault _ann _nm _def ) =+ (sem_AlterTableAction_AlterColumnDefault _ann _nm (sem_ScalarExpr _def ) )+-- semantic domain+type T_AlterTableAction = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( AlterTableAction ,AlterTableAction ,AlterTableAction )+data Inh_AlterTableAction = Inh_AlterTableAction {cat_Inh_AlterTableAction :: Catalog,idenv_Inh_AlterTableAction :: IDEnv,lib_Inh_AlterTableAction :: LocalBindings}+data Syn_AlterTableAction = Syn_AlterTableAction {annotatedTree_Syn_AlterTableAction :: AlterTableAction ,fixedUpIdentifiersTree_Syn_AlterTableAction :: AlterTableAction ,originalTree_Syn_AlterTableAction :: AlterTableAction }+wrap_AlterTableAction :: T_AlterTableAction ->+ Inh_AlterTableAction ->+ Syn_AlterTableAction +wrap_AlterTableAction sem (Inh_AlterTableAction _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_AlterTableAction _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_AlterTableAction_AddConstraint :: Annotation ->+ T_Constraint ->+ T_AlterTableAction +sem_AlterTableAction_AddConstraint ann_ con_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: AlterTableAction + _lhsOfixedUpIdentifiersTree :: AlterTableAction + _lhsOoriginalTree :: AlterTableAction + _conOcat :: Catalog+ _conOidenv :: IDEnv+ _conOlib :: LocalBindings+ _conIannotatedTree :: Constraint + _conIfixedUpIdentifiersTree :: Constraint + _conIoriginalTree :: Constraint + -- self rule+ _annotatedTree =+ AddConstraint ann_ _conIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ AddConstraint ann_ _conIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ AddConstraint ann_ _conIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _conOcat =+ _lhsIcat+ -- copy rule (down)+ _conOidenv =+ _lhsIidenv+ -- copy rule (down)+ _conOlib =+ _lhsIlib+ ( _conIannotatedTree,_conIfixedUpIdentifiersTree,_conIoriginalTree) =+ con_ _conOcat _conOidenv _conOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_AlterTableAction_AlterColumnDefault :: Annotation ->+ NameComponent ->+ T_ScalarExpr ->+ T_AlterTableAction +sem_AlterTableAction_AlterColumnDefault ann_ nm_ def_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _defOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: AlterTableAction + _lhsOfixedUpIdentifiersTree :: AlterTableAction + _lhsOoriginalTree :: AlterTableAction + _defOcat :: Catalog+ _defOidenv :: IDEnv+ _defOlib :: LocalBindings+ _defIannotatedTree :: ScalarExpr + _defIfixedUpIdentifiersTree :: ScalarExpr + _defIoriginalTree :: ScalarExpr + _defIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 72, column 26)+ _defOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ AlterColumnDefault ann_ nm_ _defIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ AlterColumnDefault ann_ nm_ _defIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ AlterColumnDefault ann_ nm_ _defIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _defOcat =+ _lhsIcat+ -- copy rule (down)+ _defOidenv =+ _lhsIidenv+ -- copy rule (down)+ _defOlib =+ _lhsIlib+ ( _defIannotatedTree,_defIfixedUpIdentifiersTree,_defIoriginalTree,_defIuType) =+ def_ _defOcat _defOexpectedType _defOidenv _defOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- AlterTableActionList ----------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Cons:+ child hd : AlterTableAction + child tl : AlterTableActionList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type AlterTableActionList = [AlterTableAction ]+-- cata+sem_AlterTableActionList :: AlterTableActionList ->+ T_AlterTableActionList +sem_AlterTableActionList list =+ (Prelude.foldr sem_AlterTableActionList_Cons sem_AlterTableActionList_Nil (Prelude.map sem_AlterTableAction list) )+-- semantic domain+type T_AlterTableActionList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( AlterTableActionList ,AlterTableActionList ,AlterTableActionList )+data Inh_AlterTableActionList = Inh_AlterTableActionList {cat_Inh_AlterTableActionList :: Catalog,idenv_Inh_AlterTableActionList :: IDEnv,lib_Inh_AlterTableActionList :: LocalBindings}+data Syn_AlterTableActionList = Syn_AlterTableActionList {annotatedTree_Syn_AlterTableActionList :: AlterTableActionList ,fixedUpIdentifiersTree_Syn_AlterTableActionList :: AlterTableActionList ,originalTree_Syn_AlterTableActionList :: AlterTableActionList }+wrap_AlterTableActionList :: T_AlterTableActionList ->+ Inh_AlterTableActionList ->+ Syn_AlterTableActionList +wrap_AlterTableActionList sem (Inh_AlterTableActionList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_AlterTableActionList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_AlterTableActionList_Cons :: T_AlterTableAction ->+ T_AlterTableActionList ->+ T_AlterTableActionList +sem_AlterTableActionList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: AlterTableActionList + _lhsOfixedUpIdentifiersTree :: AlterTableActionList + _lhsOoriginalTree :: AlterTableActionList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: AlterTableAction + _hdIfixedUpIdentifiersTree :: AlterTableAction + _hdIoriginalTree :: AlterTableAction + _tlIannotatedTree :: AlterTableActionList + _tlIfixedUpIdentifiersTree :: AlterTableActionList + _tlIoriginalTree :: AlterTableActionList + -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_AlterTableActionList_Nil :: T_AlterTableActionList +sem_AlterTableActionList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: AlterTableActionList + _lhsOfixedUpIdentifiersTree :: AlterTableActionList + _lhsOoriginalTree :: AlterTableActionList + -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- AttributeDef ------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + attrName : String+ fixedUpIdentifiersTree : SELF + namedType : Maybe Type+ originalTree : SELF + alternatives:+ alternative AttributeDef:+ child ann : {Annotation}+ child name : {NameComponent}+ child typ : TypeName + child def : MaybeScalarExpr + child cons : RowConstraintList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data AttributeDef = AttributeDef (Annotation) (NameComponent) (TypeName ) (MaybeScalarExpr ) (RowConstraintList ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_AttributeDef :: AttributeDef ->+ T_AttributeDef +sem_AttributeDef (AttributeDef _ann _name _typ _def _cons ) =+ (sem_AttributeDef_AttributeDef _ann _name (sem_TypeName _typ ) (sem_MaybeScalarExpr _def ) (sem_RowConstraintList _cons ) )+-- semantic domain+type T_AttributeDef = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( AttributeDef ,String,AttributeDef ,(Maybe Type),AttributeDef )+data Inh_AttributeDef = Inh_AttributeDef {cat_Inh_AttributeDef :: Catalog,idenv_Inh_AttributeDef :: IDEnv,lib_Inh_AttributeDef :: LocalBindings}+data Syn_AttributeDef = Syn_AttributeDef {annotatedTree_Syn_AttributeDef :: AttributeDef ,attrName_Syn_AttributeDef :: String,fixedUpIdentifiersTree_Syn_AttributeDef :: AttributeDef ,namedType_Syn_AttributeDef :: (Maybe Type),originalTree_Syn_AttributeDef :: AttributeDef }+wrap_AttributeDef :: T_AttributeDef ->+ Inh_AttributeDef ->+ Syn_AttributeDef +wrap_AttributeDef sem (Inh_AttributeDef _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOattrName,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_AttributeDef _lhsOannotatedTree _lhsOattrName _lhsOfixedUpIdentifiersTree _lhsOnamedType _lhsOoriginalTree ))+sem_AttributeDef_AttributeDef :: Annotation ->+ NameComponent ->+ T_TypeName ->+ T_MaybeScalarExpr ->+ T_RowConstraintList ->+ T_AttributeDef +sem_AttributeDef_AttributeDef ann_ name_ typ_ def_ cons_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOattrName :: String+ _lhsOnamedType :: (Maybe Type)+ _consOlib :: LocalBindings+ _lhsOannotatedTree :: AttributeDef + _lhsOfixedUpIdentifiersTree :: AttributeDef + _lhsOoriginalTree :: AttributeDef + _typOcat :: Catalog+ _typOidenv :: IDEnv+ _typOlib :: LocalBindings+ _defOcat :: Catalog+ _defOidenv :: IDEnv+ _defOlib :: LocalBindings+ _consOcat :: Catalog+ _consOidenv :: IDEnv+ _typIannotatedTree :: TypeName + _typIfixedUpIdentifiersTree :: TypeName + _typInamedType :: (Maybe Type)+ _typIoriginalTree :: TypeName + _defIannotatedTree :: MaybeScalarExpr + _defIfixedUpIdentifiersTree :: MaybeScalarExpr + _defIoriginalTree :: MaybeScalarExpr + _defIuType :: (Maybe Type)+ _consIannotatedTree :: RowConstraintList + _consIfixedUpIdentifiersTree :: RowConstraintList + _consIoriginalTree :: RowConstraintList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 83, column 9)+ _lhsOattrName =+ map toLower $ ncStr name_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 84, column 9)+ _lhsOnamedType =+ _typInamedType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 98, column 9)+ _consOlib =+ either (const _lhsIlib) id $ do+ t <- lmt _typInamedType+ lbUpdate _lhsIcat+ (LBIds "attribute def" Nothing+ [(ncStr name_, t)]) _lhsIlib+ -- self rule+ _annotatedTree =+ AttributeDef ann_ name_ _typIannotatedTree _defIannotatedTree _consIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ AttributeDef ann_ name_ _typIfixedUpIdentifiersTree _defIfixedUpIdentifiersTree _consIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ AttributeDef ann_ name_ _typIoriginalTree _defIoriginalTree _consIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _typOcat =+ _lhsIcat+ -- copy rule (down)+ _typOidenv =+ _lhsIidenv+ -- copy rule (down)+ _typOlib =+ _lhsIlib+ -- copy rule (down)+ _defOcat =+ _lhsIcat+ -- copy rule (down)+ _defOidenv =+ _lhsIidenv+ -- copy rule (down)+ _defOlib =+ _lhsIlib+ -- copy rule (down)+ _consOcat =+ _lhsIcat+ -- copy rule (down)+ _consOidenv =+ _lhsIidenv+ ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =+ typ_ _typOcat _typOidenv _typOlib + ( _defIannotatedTree,_defIfixedUpIdentifiersTree,_defIoriginalTree,_defIuType) =+ def_ _defOcat _defOidenv _defOlib + ( _consIannotatedTree,_consIfixedUpIdentifiersTree,_consIoriginalTree) =+ cons_ _consOcat _consOidenv _consOlib + in ( _lhsOannotatedTree,_lhsOattrName,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))+-- AttributeDefList --------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + attrs : [(String, Maybe Type)]+ fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Cons:+ child hd : AttributeDef + child tl : AttributeDefList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type AttributeDefList = [AttributeDef ]+-- cata+sem_AttributeDefList :: AttributeDefList ->+ T_AttributeDefList +sem_AttributeDefList list =+ (Prelude.foldr sem_AttributeDefList_Cons sem_AttributeDefList_Nil (Prelude.map sem_AttributeDef list) )+-- semantic domain+type T_AttributeDefList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( AttributeDefList ,([(String, Maybe Type)]),AttributeDefList ,AttributeDefList )+data Inh_AttributeDefList = Inh_AttributeDefList {cat_Inh_AttributeDefList :: Catalog,idenv_Inh_AttributeDefList :: IDEnv,lib_Inh_AttributeDefList :: LocalBindings}+data Syn_AttributeDefList = Syn_AttributeDefList {annotatedTree_Syn_AttributeDefList :: AttributeDefList ,attrs_Syn_AttributeDefList :: ([(String, Maybe Type)]),fixedUpIdentifiersTree_Syn_AttributeDefList :: AttributeDefList ,originalTree_Syn_AttributeDefList :: AttributeDefList }+wrap_AttributeDefList :: T_AttributeDefList ->+ Inh_AttributeDefList ->+ Syn_AttributeDefList +wrap_AttributeDefList sem (Inh_AttributeDefList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_AttributeDefList _lhsOannotatedTree _lhsOattrs _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_AttributeDefList_Cons :: T_AttributeDef ->+ T_AttributeDefList ->+ T_AttributeDefList +sem_AttributeDefList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOattrs :: ([(String, Maybe Type)])+ _lhsOannotatedTree :: AttributeDefList + _lhsOfixedUpIdentifiersTree :: AttributeDefList + _lhsOoriginalTree :: AttributeDefList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: AttributeDef + _hdIattrName :: String+ _hdIfixedUpIdentifiersTree :: AttributeDef + _hdInamedType :: (Maybe Type)+ _hdIoriginalTree :: AttributeDef + _tlIannotatedTree :: AttributeDefList + _tlIattrs :: ([(String, Maybe Type)])+ _tlIfixedUpIdentifiersTree :: AttributeDefList + _tlIoriginalTree :: AttributeDefList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 88, column 12)+ _lhsOattrs =+ (_hdIattrName, _hdInamedType) : _tlIattrs+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIattrName,_hdIfixedUpIdentifiersTree,_hdInamedType,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIattrs,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_AttributeDefList_Nil :: T_AttributeDefList +sem_AttributeDefList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOattrs :: ([(String, Maybe Type)])+ _lhsOannotatedTree :: AttributeDefList + _lhsOfixedUpIdentifiersTree :: AttributeDefList + _lhsOoriginalTree :: AttributeDefList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 89, column 11)+ _lhsOattrs =+ []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- CaseScalarExprListScalarExprPair ----------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + thenType : Maybe Type+ whenTypes : [Maybe Type]+ alternatives:+ alternative Tuple:+ child x1 : ScalarExprList + child x2 : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type CaseScalarExprListScalarExprPair = ( ScalarExprList ,ScalarExpr )+-- cata+sem_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ->+ T_CaseScalarExprListScalarExprPair +sem_CaseScalarExprListScalarExprPair ( x1,x2) =+ (sem_CaseScalarExprListScalarExprPair_Tuple (sem_ScalarExprList x1 ) (sem_ScalarExpr x2 ) )+-- semantic domain+type T_CaseScalarExprListScalarExprPair = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( CaseScalarExprListScalarExprPair ,CaseScalarExprListScalarExprPair ,CaseScalarExprListScalarExprPair ,(Maybe Type),([Maybe Type]))+data Inh_CaseScalarExprListScalarExprPair = Inh_CaseScalarExprListScalarExprPair {cat_Inh_CaseScalarExprListScalarExprPair :: Catalog,idenv_Inh_CaseScalarExprListScalarExprPair :: IDEnv,lib_Inh_CaseScalarExprListScalarExprPair :: LocalBindings}+data Syn_CaseScalarExprListScalarExprPair = Syn_CaseScalarExprListScalarExprPair {annotatedTree_Syn_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ,fixedUpIdentifiersTree_Syn_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ,originalTree_Syn_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ,thenType_Syn_CaseScalarExprListScalarExprPair :: (Maybe Type),whenTypes_Syn_CaseScalarExprListScalarExprPair :: ([Maybe Type])}+wrap_CaseScalarExprListScalarExprPair :: T_CaseScalarExprListScalarExprPair ->+ Inh_CaseScalarExprListScalarExprPair ->+ Syn_CaseScalarExprListScalarExprPair +wrap_CaseScalarExprListScalarExprPair sem (Inh_CaseScalarExprListScalarExprPair _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOthenType,_lhsOwhenTypes) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_CaseScalarExprListScalarExprPair _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOthenType _lhsOwhenTypes ))+sem_CaseScalarExprListScalarExprPair_Tuple :: T_ScalarExprList ->+ T_ScalarExpr ->+ T_CaseScalarExprListScalarExprPair +sem_CaseScalarExprListScalarExprPair_Tuple x1_ x2_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOwhenTypes :: ([Maybe Type])+ _lhsOthenType :: (Maybe Type)+ _x1OexpectedTypes :: ([Maybe Type])+ _x2OexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: CaseScalarExprListScalarExprPair + _lhsOfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPair + _lhsOoriginalTree :: CaseScalarExprListScalarExprPair + _x1Ocat :: Catalog+ _x1Oidenv :: IDEnv+ _x1Olib :: LocalBindings+ _x2Ocat :: Catalog+ _x2Oidenv :: IDEnv+ _x2Olib :: LocalBindings+ _x1IannotatedTree :: ScalarExprList + _x1IfixedUpIdentifiersTree :: ScalarExprList + _x1IoriginalTree :: ScalarExprList + _x1IuType :: ([Maybe Type])+ _x2IannotatedTree :: ScalarExpr + _x2IfixedUpIdentifiersTree :: ScalarExpr + _x2IoriginalTree :: ScalarExpr + _x2IuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 276, column 13)+ _lhsOwhenTypes =+ _x1IuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 277, column 13)+ _lhsOthenType =+ _x2IuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 76, column 13)+ _x1OexpectedTypes =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 77, column 13)+ _x2OexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ (_x1IannotatedTree,_x2IannotatedTree)+ -- self rule+ _fixedUpIdentifiersTree =+ (_x1IfixedUpIdentifiersTree,_x2IfixedUpIdentifiersTree)+ -- self rule+ _originalTree =+ (_x1IoriginalTree,_x2IoriginalTree)+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _x1Ocat =+ _lhsIcat+ -- copy rule (down)+ _x1Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _x1Olib =+ _lhsIlib+ -- copy rule (down)+ _x2Ocat =+ _lhsIcat+ -- copy rule (down)+ _x2Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _x2Olib =+ _lhsIlib+ ( _x1IannotatedTree,_x1IfixedUpIdentifiersTree,_x1IoriginalTree,_x1IuType) =+ x1_ _x1Ocat _x1OexpectedTypes _x1Oidenv _x1Olib + ( _x2IannotatedTree,_x2IfixedUpIdentifiersTree,_x2IoriginalTree,_x2IuType) =+ x2_ _x2Ocat _x2OexpectedType _x2Oidenv _x2Olib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOthenType,_lhsOwhenTypes)))+-- CaseScalarExprListScalarExprPairList ------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + thenTypes : [Maybe Type]+ whenTypes : [[Maybe Type]]+ alternatives:+ alternative Cons:+ child hd : CaseScalarExprListScalarExprPair + child tl : CaseScalarExprListScalarExprPairList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type CaseScalarExprListScalarExprPairList = [CaseScalarExprListScalarExprPair ]+-- cata+sem_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ->+ T_CaseScalarExprListScalarExprPairList +sem_CaseScalarExprListScalarExprPairList list =+ (Prelude.foldr sem_CaseScalarExprListScalarExprPairList_Cons sem_CaseScalarExprListScalarExprPairList_Nil (Prelude.map sem_CaseScalarExprListScalarExprPair list) )+-- semantic domain+type T_CaseScalarExprListScalarExprPairList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( CaseScalarExprListScalarExprPairList ,CaseScalarExprListScalarExprPairList ,CaseScalarExprListScalarExprPairList ,([Maybe Type]),([[Maybe Type]]))+data Inh_CaseScalarExprListScalarExprPairList = Inh_CaseScalarExprListScalarExprPairList {cat_Inh_CaseScalarExprListScalarExprPairList :: Catalog,idenv_Inh_CaseScalarExprListScalarExprPairList :: IDEnv,lib_Inh_CaseScalarExprListScalarExprPairList :: LocalBindings}+data Syn_CaseScalarExprListScalarExprPairList = Syn_CaseScalarExprListScalarExprPairList {annotatedTree_Syn_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ,fixedUpIdentifiersTree_Syn_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ,originalTree_Syn_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ,thenTypes_Syn_CaseScalarExprListScalarExprPairList :: ([Maybe Type]),whenTypes_Syn_CaseScalarExprListScalarExprPairList :: ([[Maybe Type]])}+wrap_CaseScalarExprListScalarExprPairList :: T_CaseScalarExprListScalarExprPairList ->+ Inh_CaseScalarExprListScalarExprPairList ->+ Syn_CaseScalarExprListScalarExprPairList +wrap_CaseScalarExprListScalarExprPairList sem (Inh_CaseScalarExprListScalarExprPairList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOthenTypes,_lhsOwhenTypes) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_CaseScalarExprListScalarExprPairList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOthenTypes _lhsOwhenTypes ))+sem_CaseScalarExprListScalarExprPairList_Cons :: T_CaseScalarExprListScalarExprPair ->+ T_CaseScalarExprListScalarExprPairList ->+ T_CaseScalarExprListScalarExprPairList +sem_CaseScalarExprListScalarExprPairList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOwhenTypes :: ([[Maybe Type]])+ _lhsOthenTypes :: ([Maybe Type])+ _lhsOannotatedTree :: CaseScalarExprListScalarExprPairList + _lhsOfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPairList + _lhsOoriginalTree :: CaseScalarExprListScalarExprPairList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: CaseScalarExprListScalarExprPair + _hdIfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPair + _hdIoriginalTree :: CaseScalarExprListScalarExprPair + _hdIthenType :: (Maybe Type)+ _hdIwhenTypes :: ([Maybe Type])+ _tlIannotatedTree :: CaseScalarExprListScalarExprPairList + _tlIfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPairList + _tlIoriginalTree :: CaseScalarExprListScalarExprPairList + _tlIthenTypes :: ([Maybe Type])+ _tlIwhenTypes :: ([[Maybe Type]])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 267, column 10)+ _lhsOwhenTypes =+ _hdIwhenTypes : _tlIwhenTypes+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 268, column 10)+ _lhsOthenTypes =+ _hdIthenType : _tlIthenTypes+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree,_hdIthenType,_hdIwhenTypes) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIthenTypes,_tlIwhenTypes) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOthenTypes,_lhsOwhenTypes)))+sem_CaseScalarExprListScalarExprPairList_Nil :: T_CaseScalarExprListScalarExprPairList +sem_CaseScalarExprListScalarExprPairList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOwhenTypes :: ([[Maybe Type]])+ _lhsOthenTypes :: ([Maybe Type])+ _lhsOannotatedTree :: CaseScalarExprListScalarExprPairList + _lhsOfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPairList + _lhsOoriginalTree :: CaseScalarExprListScalarExprPairList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 269, column 9)+ _lhsOwhenTypes =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 270, column 9)+ _lhsOthenTypes =+ []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOthenTypes,_lhsOwhenTypes)))+-- Constraint --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative CheckConstraint:+ child ann : {Annotation}+ child name : {String}+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative PrimaryKeyConstraint:+ child ann : {Annotation}+ child name : {String}+ child x : {[NameComponent]}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative ReferenceConstraint:+ child ann : {Annotation}+ child name : {String}+ child atts : {[NameComponent]}+ child table : Name + child tableAtts : {[NameComponent]}+ child onUpdate : {Cascade}+ child onDelete : {Cascade}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative UniqueConstraint:+ child ann : {Annotation}+ child name : {String}+ child x : {[NameComponent]}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data Constraint = CheckConstraint (Annotation) (String) (ScalarExpr ) + | PrimaryKeyConstraint (Annotation) (String) (([NameComponent])) + | ReferenceConstraint (Annotation) (String) (([NameComponent])) (Name ) (([NameComponent])) (Cascade) (Cascade) + | UniqueConstraint (Annotation) (String) (([NameComponent])) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_Constraint :: Constraint ->+ T_Constraint +sem_Constraint (CheckConstraint _ann _name _expr ) =+ (sem_Constraint_CheckConstraint _ann _name (sem_ScalarExpr _expr ) )+sem_Constraint (PrimaryKeyConstraint _ann _name _x ) =+ (sem_Constraint_PrimaryKeyConstraint _ann _name _x )+sem_Constraint (ReferenceConstraint _ann _name _atts _table _tableAtts _onUpdate _onDelete ) =+ (sem_Constraint_ReferenceConstraint _ann _name _atts (sem_Name _table ) _tableAtts _onUpdate _onDelete )+sem_Constraint (UniqueConstraint _ann _name _x ) =+ (sem_Constraint_UniqueConstraint _ann _name _x )+-- semantic domain+type T_Constraint = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( Constraint ,Constraint ,Constraint )+data Inh_Constraint = Inh_Constraint {cat_Inh_Constraint :: Catalog,idenv_Inh_Constraint :: IDEnv,lib_Inh_Constraint :: LocalBindings}+data Syn_Constraint = Syn_Constraint {annotatedTree_Syn_Constraint :: Constraint ,fixedUpIdentifiersTree_Syn_Constraint :: Constraint ,originalTree_Syn_Constraint :: Constraint }+wrap_Constraint :: T_Constraint ->+ Inh_Constraint ->+ Syn_Constraint +wrap_Constraint sem (Inh_Constraint _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_Constraint _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_Constraint_CheckConstraint :: Annotation ->+ String ->+ T_ScalarExpr ->+ T_Constraint +sem_Constraint_CheckConstraint ann_ name_ expr_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _exprOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: Constraint + _lhsOfixedUpIdentifiersTree :: Constraint + _lhsOoriginalTree :: Constraint + _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _exprIannotatedTree :: ScalarExpr + _exprIfixedUpIdentifiersTree :: ScalarExpr + _exprIoriginalTree :: ScalarExpr + _exprIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 80, column 23)+ _exprOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ CheckConstraint ann_ name_ _exprIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CheckConstraint ann_ name_ _exprIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CheckConstraint ann_ name_ _exprIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_Constraint_PrimaryKeyConstraint :: Annotation ->+ String ->+ ([NameComponent]) ->+ T_Constraint +sem_Constraint_PrimaryKeyConstraint ann_ name_ x_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: Constraint + _lhsOfixedUpIdentifiersTree :: Constraint + _lhsOoriginalTree :: Constraint + -- self rule+ _annotatedTree =+ PrimaryKeyConstraint ann_ name_ x_+ -- self rule+ _fixedUpIdentifiersTree =+ PrimaryKeyConstraint ann_ name_ x_+ -- self rule+ _originalTree =+ PrimaryKeyConstraint ann_ name_ x_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_Constraint_ReferenceConstraint :: Annotation ->+ String ->+ ([NameComponent]) ->+ T_Name ->+ ([NameComponent]) ->+ Cascade ->+ Cascade ->+ T_Constraint +sem_Constraint_ReferenceConstraint ann_ name_ atts_ table_ tableAtts_ onUpdate_ onDelete_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: Constraint + _lhsOfixedUpIdentifiersTree :: Constraint + _lhsOoriginalTree :: Constraint + _tableOcat :: Catalog+ _tableOidenv :: IDEnv+ _tableOlib :: LocalBindings+ _tableIannotatedTree :: Name + _tableIfixedUpIdentifiersTree :: Name + _tableIoriginalTree :: Name + _tableItbAnnotatedTree :: Name + _tableItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ -- self rule+ _annotatedTree =+ ReferenceConstraint ann_ name_ atts_ _tableIannotatedTree tableAtts_ onUpdate_ onDelete_+ -- self rule+ _fixedUpIdentifiersTree =+ ReferenceConstraint ann_ name_ atts_ _tableIfixedUpIdentifiersTree tableAtts_ onUpdate_ onDelete_+ -- self rule+ _originalTree =+ ReferenceConstraint ann_ name_ atts_ _tableIoriginalTree tableAtts_ onUpdate_ onDelete_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _tableOcat =+ _lhsIcat+ -- copy rule (down)+ _tableOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tableOlib =+ _lhsIlib+ ( _tableIannotatedTree,_tableIfixedUpIdentifiersTree,_tableIoriginalTree,_tableItbAnnotatedTree,_tableItbUType) =+ table_ _tableOcat _tableOidenv _tableOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_Constraint_UniqueConstraint :: Annotation ->+ String ->+ ([NameComponent]) ->+ T_Constraint +sem_Constraint_UniqueConstraint ann_ name_ x_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: Constraint + _lhsOfixedUpIdentifiersTree :: Constraint + _lhsOoriginalTree :: Constraint + -- self rule+ _annotatedTree =+ UniqueConstraint ann_ name_ x_+ -- self rule+ _fixedUpIdentifiersTree =+ UniqueConstraint ann_ name_ x_+ -- self rule+ _originalTree =+ UniqueConstraint ann_ name_ x_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- ConstraintList ----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Cons:+ child hd : Constraint + child tl : ConstraintList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type ConstraintList = [Constraint ]+-- cata+sem_ConstraintList :: ConstraintList ->+ T_ConstraintList +sem_ConstraintList list =+ (Prelude.foldr sem_ConstraintList_Cons sem_ConstraintList_Nil (Prelude.map sem_Constraint list) )+-- semantic domain+type T_ConstraintList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( ConstraintList ,ConstraintList ,ConstraintList )+data Inh_ConstraintList = Inh_ConstraintList {cat_Inh_ConstraintList :: Catalog,idenv_Inh_ConstraintList :: IDEnv,lib_Inh_ConstraintList :: LocalBindings}+data Syn_ConstraintList = Syn_ConstraintList {annotatedTree_Syn_ConstraintList :: ConstraintList ,fixedUpIdentifiersTree_Syn_ConstraintList :: ConstraintList ,originalTree_Syn_ConstraintList :: ConstraintList }+wrap_ConstraintList :: T_ConstraintList ->+ Inh_ConstraintList ->+ Syn_ConstraintList +wrap_ConstraintList sem (Inh_ConstraintList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_ConstraintList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_ConstraintList_Cons :: T_Constraint ->+ T_ConstraintList ->+ T_ConstraintList +sem_ConstraintList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ConstraintList + _lhsOfixedUpIdentifiersTree :: ConstraintList + _lhsOoriginalTree :: ConstraintList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: Constraint + _hdIfixedUpIdentifiersTree :: Constraint + _hdIoriginalTree :: Constraint + _tlIannotatedTree :: ConstraintList + _tlIfixedUpIdentifiersTree :: ConstraintList + _tlIoriginalTree :: ConstraintList + -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_ConstraintList_Nil :: T_ConstraintList +sem_ConstraintList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ConstraintList + _lhsOfixedUpIdentifiersTree :: ConstraintList + _lhsOoriginalTree :: ConstraintList + -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- FnBody ------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative PlpgsqlFnBody:+ child ann : {Annotation}+ child blk : Statement + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative SqlFnBody:+ child ann : {Annotation}+ child sts : StatementList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data FnBody = PlpgsqlFnBody (Annotation) (Statement ) + | SqlFnBody (Annotation) (StatementList ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_FnBody :: FnBody ->+ T_FnBody +sem_FnBody (PlpgsqlFnBody _ann _blk ) =+ (sem_FnBody_PlpgsqlFnBody _ann (sem_Statement _blk ) )+sem_FnBody (SqlFnBody _ann _sts ) =+ (sem_FnBody_SqlFnBody _ann (sem_StatementList _sts ) )+-- semantic domain+type T_FnBody = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( FnBody ,FnBody ,FnBody )+data Inh_FnBody = Inh_FnBody {cat_Inh_FnBody :: Catalog,idenv_Inh_FnBody :: IDEnv,lib_Inh_FnBody :: LocalBindings}+data Syn_FnBody = Syn_FnBody {annotatedTree_Syn_FnBody :: FnBody ,fixedUpIdentifiersTree_Syn_FnBody :: FnBody ,originalTree_Syn_FnBody :: FnBody }+wrap_FnBody :: T_FnBody ->+ Inh_FnBody ->+ Syn_FnBody +wrap_FnBody sem (Inh_FnBody _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_FnBody _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_FnBody_PlpgsqlFnBody :: Annotation ->+ T_Statement ->+ T_FnBody +sem_FnBody_PlpgsqlFnBody ann_ blk_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _blkOinProducedCat :: Catalog+ _lhsOannotatedTree :: FnBody + _lhsOfixedUpIdentifiersTree :: FnBody + _lhsOoriginalTree :: FnBody + _blkOcat :: Catalog+ _blkOidenv :: IDEnv+ _blkOlib :: LocalBindings+ _blkIannotatedTree :: Statement + _blkIcatUpdates :: ([CatalogUpdate])+ _blkIfixedUpIdentifiersTree :: Statement + _blkIlibUpdates :: ([LocalBindingsUpdate])+ _blkIoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 104, column 9)+ _blkOinProducedCat =+ emptyCatalog+ -- self rule+ _annotatedTree =+ PlpgsqlFnBody ann_ _blkIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ PlpgsqlFnBody ann_ _blkIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ PlpgsqlFnBody ann_ _blkIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _blkOcat =+ _lhsIcat+ -- copy rule (down)+ _blkOidenv =+ _lhsIidenv+ -- copy rule (down)+ _blkOlib =+ _lhsIlib+ ( _blkIannotatedTree,_blkIcatUpdates,_blkIfixedUpIdentifiersTree,_blkIlibUpdates,_blkIoriginalTree) =+ blk_ _blkOcat _blkOidenv _blkOinProducedCat _blkOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_FnBody_SqlFnBody :: Annotation ->+ T_StatementList ->+ T_FnBody +sem_FnBody_SqlFnBody ann_ sts_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _stsOcatUpdates :: ([CatalogUpdate])+ _stsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: FnBody + _lhsOfixedUpIdentifiersTree :: FnBody + _lhsOoriginalTree :: FnBody + _stsOcat :: Catalog+ _stsOidenv :: IDEnv+ _stsOlib :: LocalBindings+ _stsIannotatedTree :: StatementList + _stsIfixedUpIdentifiersTree :: StatementList + _stsIoriginalTree :: StatementList + _stsIproducedCat :: Catalog+ _stsIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 129, column 9)+ _stsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 130, column 9)+ _stsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ SqlFnBody ann_ _stsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ SqlFnBody ann_ _stsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ SqlFnBody ann_ _stsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _stsOcat =+ _lhsIcat+ -- copy rule (down)+ _stsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _stsOlib =+ _lhsIlib+ ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =+ sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- InList ------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ expectedType : Maybe Type+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + listType : Either [TypeError] Type+ originalTree : SELF + alternatives:+ alternative InList:+ child ann : {Annotation}+ child exprs : ScalarExprList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative InQueryExpr:+ child ann : {Annotation}+ child sel : QueryExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data InList = InList (Annotation) (ScalarExprList ) + | InQueryExpr (Annotation) (QueryExpr ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_InList :: InList ->+ T_InList +sem_InList (InList _ann _exprs ) =+ (sem_InList_InList _ann (sem_ScalarExprList _exprs ) )+sem_InList (InQueryExpr _ann _sel ) =+ (sem_InList_InQueryExpr _ann (sem_QueryExpr _sel ) )+-- semantic domain+type T_InList = Catalog ->+ (Maybe Type) ->+ IDEnv ->+ LocalBindings ->+ ( InList ,InList ,(Either [TypeError] Type),InList )+data Inh_InList = Inh_InList {cat_Inh_InList :: Catalog,expectedType_Inh_InList :: (Maybe Type),idenv_Inh_InList :: IDEnv,lib_Inh_InList :: LocalBindings}+data Syn_InList = Syn_InList {annotatedTree_Syn_InList :: InList ,fixedUpIdentifiersTree_Syn_InList :: InList ,listType_Syn_InList :: (Either [TypeError] Type),originalTree_Syn_InList :: InList }+wrap_InList :: T_InList ->+ Inh_InList ->+ Syn_InList +wrap_InList sem (Inh_InList _lhsIcat _lhsIexpectedType _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree) = sem _lhsIcat _lhsIexpectedType _lhsIidenv _lhsIlib + in (Syn_InList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOlistType _lhsOoriginalTree ))+sem_InList_InList :: Annotation ->+ T_ScalarExprList ->+ T_InList +sem_InList_InList ann_ exprs_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOlistType :: (Either [TypeError] Type)+ _exprsOexpectedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: InList + _lhsOfixedUpIdentifiersTree :: InList + _lhsOoriginalTree :: InList + _exprsOcat :: Catalog+ _exprsOidenv :: IDEnv+ _exprsOlib :: LocalBindings+ _exprsIannotatedTree :: ScalarExprList + _exprsIfixedUpIdentifiersTree :: ScalarExprList + _exprsIoriginalTree :: ScalarExprList + _exprsIuType :: ([Maybe Type])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 420, column 9)+ _lhsOlistType =+ mapM lmt _exprsIuType >>= resolveResultSetType _lhsIcat+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 421, column 9)+ _exprsOexpectedTypes =+ repeat _lhsIexpectedType+ -- self rule+ _annotatedTree =+ InList ann_ _exprsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ InList ann_ _exprsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ InList ann_ _exprsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprsOcat =+ _lhsIcat+ -- copy rule (down)+ _exprsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprsOlib =+ _lhsIlib+ ( _exprsIannotatedTree,_exprsIfixedUpIdentifiersTree,_exprsIoriginalTree,_exprsIuType) =+ exprs_ _exprsOcat _exprsOexpectedTypes _exprsOidenv _exprsOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))+sem_InList_InQueryExpr :: Annotation ->+ T_QueryExpr ->+ T_InList +sem_InList_InQueryExpr ann_ sel_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOlistType :: (Either [TypeError] Type)+ _selOcsql :: LocalBindings+ _selOexpectedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: InList + _lhsOfixedUpIdentifiersTree :: InList + _lhsOoriginalTree :: InList + _selOcat :: Catalog+ _selOidenv :: IDEnv+ _selOlib :: LocalBindings+ _selIannotatedTree :: QueryExpr + _selIcidenv :: IDEnv+ _selIfixedUpIdentifiersTree :: QueryExpr + _selIlibUpdates :: ([LocalBindingsUpdate])+ _selIoriginalTree :: QueryExpr + _selIuType :: (Maybe [(String,Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 424, column 9)+ _lhsOlistType =+ do+ st <- lmt (map snd <$> _selIuType)+ case length st of+ 0 -> Left [InternalError+ "got subquery with no columns? in inselect"]+ 1 -> Right $ head st+ _ -> Right $ AnonymousRecordType st+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 120, column 19)+ _selOcsql =+ emptyBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 171, column 19)+ _selOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ InQueryExpr ann_ _selIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ InQueryExpr ann_ _selIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ InQueryExpr ann_ _selIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _selOcat =+ _lhsIcat+ -- copy rule (down)+ _selOidenv =+ _lhsIidenv+ -- copy rule (down)+ _selOlib =+ _lhsIlib+ ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =+ sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))+-- JoinExpr ----------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative JoinOn:+ child ann : {Annotation}+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative JoinUsing:+ child ann : {Annotation}+ child x : {[NameComponent]}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data JoinExpr = JoinOn (Annotation) (ScalarExpr ) + | JoinUsing (Annotation) (([NameComponent])) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_JoinExpr :: JoinExpr ->+ T_JoinExpr +sem_JoinExpr (JoinOn _ann _expr ) =+ (sem_JoinExpr_JoinOn _ann (sem_ScalarExpr _expr ) )+sem_JoinExpr (JoinUsing _ann _x ) =+ (sem_JoinExpr_JoinUsing _ann _x )+-- semantic domain+type T_JoinExpr = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( JoinExpr ,JoinExpr ,JoinExpr )+data Inh_JoinExpr = Inh_JoinExpr {cat_Inh_JoinExpr :: Catalog,idenv_Inh_JoinExpr :: IDEnv,lib_Inh_JoinExpr :: LocalBindings}+data Syn_JoinExpr = Syn_JoinExpr {annotatedTree_Syn_JoinExpr :: JoinExpr ,fixedUpIdentifiersTree_Syn_JoinExpr :: JoinExpr ,originalTree_Syn_JoinExpr :: JoinExpr }+wrap_JoinExpr :: T_JoinExpr ->+ Inh_JoinExpr ->+ Syn_JoinExpr +wrap_JoinExpr sem (Inh_JoinExpr _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_JoinExpr _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_JoinExpr_JoinOn :: Annotation ->+ T_ScalarExpr ->+ T_JoinExpr +sem_JoinExpr_JoinOn ann_ expr_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _exprOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: JoinExpr + _lhsOfixedUpIdentifiersTree :: JoinExpr + _lhsOoriginalTree :: JoinExpr + _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _exprIannotatedTree :: ScalarExpr + _exprIfixedUpIdentifiersTree :: ScalarExpr + _exprIoriginalTree :: ScalarExpr + _exprIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 94, column 14)+ _exprOexpectedType =+ Just typeBool+ -- self rule+ _annotatedTree =+ JoinOn ann_ _exprIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ JoinOn ann_ _exprIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ JoinOn ann_ _exprIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_JoinExpr_JoinUsing :: Annotation ->+ ([NameComponent]) ->+ T_JoinExpr +sem_JoinExpr_JoinUsing ann_ x_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: JoinExpr + _lhsOfixedUpIdentifiersTree :: JoinExpr + _lhsOoriginalTree :: JoinExpr + -- self rule+ _annotatedTree =+ JoinUsing ann_ x_+ -- self rule+ _fixedUpIdentifiersTree =+ JoinUsing ann_ x_+ -- self rule+ _originalTree =+ JoinUsing ann_ x_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- MaybeBoolExpr -----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Just:+ child just : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nothing:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type MaybeBoolExpr = Maybe ScalarExpr +-- cata+sem_MaybeBoolExpr :: MaybeBoolExpr ->+ T_MaybeBoolExpr +sem_MaybeBoolExpr (Prelude.Just x ) =+ (sem_MaybeBoolExpr_Just (sem_ScalarExpr x ) )+sem_MaybeBoolExpr Prelude.Nothing =+ sem_MaybeBoolExpr_Nothing+-- semantic domain+type T_MaybeBoolExpr = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( MaybeBoolExpr ,MaybeBoolExpr ,MaybeBoolExpr )+data Inh_MaybeBoolExpr = Inh_MaybeBoolExpr {cat_Inh_MaybeBoolExpr :: Catalog,idenv_Inh_MaybeBoolExpr :: IDEnv,lib_Inh_MaybeBoolExpr :: LocalBindings}+data Syn_MaybeBoolExpr = Syn_MaybeBoolExpr {annotatedTree_Syn_MaybeBoolExpr :: MaybeBoolExpr ,fixedUpIdentifiersTree_Syn_MaybeBoolExpr :: MaybeBoolExpr ,originalTree_Syn_MaybeBoolExpr :: MaybeBoolExpr }+wrap_MaybeBoolExpr :: T_MaybeBoolExpr ->+ Inh_MaybeBoolExpr ->+ Syn_MaybeBoolExpr +wrap_MaybeBoolExpr sem (Inh_MaybeBoolExpr _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_MaybeBoolExpr _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_MaybeBoolExpr_Just :: T_ScalarExpr ->+ T_MaybeBoolExpr +sem_MaybeBoolExpr_Just just_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: MaybeBoolExpr + _justOexpectedType :: (Maybe Type)+ _lhsOfixedUpIdentifiersTree :: MaybeBoolExpr + _lhsOoriginalTree :: MaybeBoolExpr + _justOcat :: Catalog+ _justOidenv :: IDEnv+ _justOlib :: LocalBindings+ _justIannotatedTree :: ScalarExpr + _justIfixedUpIdentifiersTree :: ScalarExpr + _justIoriginalTree :: ScalarExpr + _justIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 139, column 9)+ _lhsOannotatedTree =+ let t = _justIuType+ in if t `elem` [Nothing,Just typeBool]+ then Just _justIannotatedTree+ else Just $ addTypeErrors [ExpressionMustBeBool] _justIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 97, column 12)+ _justOexpectedType =+ Just typeBool+ -- self rule+ _annotatedTree =+ Just _justIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Just _justIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Just _justIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _justOcat =+ _lhsIcat+ -- copy rule (down)+ _justOidenv =+ _lhsIidenv+ -- copy rule (down)+ _justOlib =+ _lhsIlib+ ( _justIannotatedTree,_justIfixedUpIdentifiersTree,_justIoriginalTree,_justIuType) =+ just_ _justOcat _justOexpectedType _justOidenv _justOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_MaybeBoolExpr_Nothing :: T_MaybeBoolExpr +sem_MaybeBoolExpr_Nothing =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: MaybeBoolExpr + _lhsOfixedUpIdentifiersTree :: MaybeBoolExpr + _lhsOoriginalTree :: MaybeBoolExpr + -- self rule+ _annotatedTree =+ Nothing+ -- self rule+ _fixedUpIdentifiersTree =+ Nothing+ -- self rule+ _originalTree =+ Nothing+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- MaybeNameComponentList --------------------------------------+{-+ alternatives:+ alternative Just:+ child just : NameComponentList + alternative Nothing:+-}+type MaybeNameComponentList = Maybe NameComponentList +-- cata+sem_MaybeNameComponentList :: MaybeNameComponentList ->+ T_MaybeNameComponentList +sem_MaybeNameComponentList (Prelude.Just x ) =+ (sem_MaybeNameComponentList_Just (sem_NameComponentList x ) )+sem_MaybeNameComponentList Prelude.Nothing =+ sem_MaybeNameComponentList_Nothing+-- semantic domain+type T_MaybeNameComponentList = ( )+data Inh_MaybeNameComponentList = Inh_MaybeNameComponentList {}+data Syn_MaybeNameComponentList = Syn_MaybeNameComponentList {}+wrap_MaybeNameComponentList :: T_MaybeNameComponentList ->+ Inh_MaybeNameComponentList ->+ Syn_MaybeNameComponentList +wrap_MaybeNameComponentList sem (Inh_MaybeNameComponentList ) =+ (let ( ) = sem + in (Syn_MaybeNameComponentList ))+sem_MaybeNameComponentList_Just :: T_NameComponentList ->+ T_MaybeNameComponentList +sem_MaybeNameComponentList_Just just_ =+ (let + in ( ))+sem_MaybeNameComponentList_Nothing :: T_MaybeNameComponentList +sem_MaybeNameComponentList_Nothing =+ (let + in ( ))+-- MaybeScalarExpr ---------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + uType : Maybe Type+ alternatives:+ alternative Just:+ child just : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nothing:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type MaybeScalarExpr = Maybe ScalarExpr +-- cata+sem_MaybeScalarExpr :: MaybeScalarExpr ->+ T_MaybeScalarExpr +sem_MaybeScalarExpr (Prelude.Just x ) =+ (sem_MaybeScalarExpr_Just (sem_ScalarExpr x ) )+sem_MaybeScalarExpr Prelude.Nothing =+ sem_MaybeScalarExpr_Nothing+-- semantic domain+type T_MaybeScalarExpr = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( MaybeScalarExpr ,MaybeScalarExpr ,MaybeScalarExpr ,(Maybe Type))+data Inh_MaybeScalarExpr = Inh_MaybeScalarExpr {cat_Inh_MaybeScalarExpr :: Catalog,idenv_Inh_MaybeScalarExpr :: IDEnv,lib_Inh_MaybeScalarExpr :: LocalBindings}+data Syn_MaybeScalarExpr = Syn_MaybeScalarExpr {annotatedTree_Syn_MaybeScalarExpr :: MaybeScalarExpr ,fixedUpIdentifiersTree_Syn_MaybeScalarExpr :: MaybeScalarExpr ,originalTree_Syn_MaybeScalarExpr :: MaybeScalarExpr ,uType_Syn_MaybeScalarExpr :: (Maybe Type)}+wrap_MaybeScalarExpr :: T_MaybeScalarExpr ->+ Inh_MaybeScalarExpr ->+ Syn_MaybeScalarExpr +wrap_MaybeScalarExpr sem (Inh_MaybeScalarExpr _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_MaybeScalarExpr _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOuType ))+sem_MaybeScalarExpr_Just :: T_ScalarExpr ->+ T_MaybeScalarExpr +sem_MaybeScalarExpr_Just just_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOuType :: (Maybe Type)+ _justOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: MaybeScalarExpr + _lhsOfixedUpIdentifiersTree :: MaybeScalarExpr + _lhsOoriginalTree :: MaybeScalarExpr + _justOcat :: Catalog+ _justOidenv :: IDEnv+ _justOlib :: LocalBindings+ _justIannotatedTree :: ScalarExpr + _justIfixedUpIdentifiersTree :: ScalarExpr + _justIoriginalTree :: ScalarExpr + _justIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 131, column 12)+ _lhsOuType =+ _justIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 100, column 12)+ _justOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ Just _justIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Just _justIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Just _justIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _justOcat =+ _lhsIcat+ -- copy rule (down)+ _justOidenv =+ _lhsIidenv+ -- copy rule (down)+ _justOlib =+ _lhsIlib+ ( _justIannotatedTree,_justIfixedUpIdentifiersTree,_justIoriginalTree,_justIuType) =+ just_ _justOcat _justOexpectedType _justOidenv _justOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_MaybeScalarExpr_Nothing :: T_MaybeScalarExpr +sem_MaybeScalarExpr_Nothing =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOuType :: (Maybe Type)+ _lhsOannotatedTree :: MaybeScalarExpr + _lhsOfixedUpIdentifiersTree :: MaybeScalarExpr + _lhsOoriginalTree :: MaybeScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 132, column 15)+ _lhsOuType =+ Nothing+ -- self rule+ _annotatedTree =+ Nothing+ -- self rule+ _fixedUpIdentifiersTree =+ Nothing+ -- self rule+ _originalTree =+ Nothing+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+-- MaybeSelectList ---------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + listType : [(String,Maybe Type)]+ originalTree : SELF + alternatives:+ alternative Just:+ child just : SelectList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nothing:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type MaybeSelectList = Maybe SelectList +-- cata+sem_MaybeSelectList :: MaybeSelectList ->+ T_MaybeSelectList +sem_MaybeSelectList (Prelude.Just x ) =+ (sem_MaybeSelectList_Just (sem_SelectList x ) )+sem_MaybeSelectList Prelude.Nothing =+ sem_MaybeSelectList_Nothing+-- semantic domain+type T_MaybeSelectList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( MaybeSelectList ,MaybeSelectList ,([(String,Maybe Type)]),MaybeSelectList )+data Inh_MaybeSelectList = Inh_MaybeSelectList {cat_Inh_MaybeSelectList :: Catalog,idenv_Inh_MaybeSelectList :: IDEnv,lib_Inh_MaybeSelectList :: LocalBindings}+data Syn_MaybeSelectList = Syn_MaybeSelectList {annotatedTree_Syn_MaybeSelectList :: MaybeSelectList ,fixedUpIdentifiersTree_Syn_MaybeSelectList :: MaybeSelectList ,listType_Syn_MaybeSelectList :: ([(String,Maybe Type)]),originalTree_Syn_MaybeSelectList :: MaybeSelectList }+wrap_MaybeSelectList :: T_MaybeSelectList ->+ Inh_MaybeSelectList ->+ Syn_MaybeSelectList +wrap_MaybeSelectList sem (Inh_MaybeSelectList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_MaybeSelectList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOlistType _lhsOoriginalTree ))+sem_MaybeSelectList_Just :: T_SelectList ->+ T_MaybeSelectList +sem_MaybeSelectList_Just just_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOlistType :: ([(String,Maybe Type)])+ _lhsOannotatedTree :: MaybeSelectList + _lhsOfixedUpIdentifiersTree :: MaybeSelectList + _lhsOoriginalTree :: MaybeSelectList + _justOcat :: Catalog+ _justOidenv :: IDEnv+ _justOlib :: LocalBindings+ _justIannotatedTree :: SelectList + _justIcidenv :: IDEnv+ _justIfixedUpIdentifiersTree :: SelectList + _justIlibUpdates :: ([LocalBindingsUpdate])+ _justIlistType :: ([(String,Maybe Type)])+ _justIoriginalTree :: SelectList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 38, column 12)+ _lhsOlistType =+ _justIlistType+ -- self rule+ _annotatedTree =+ Just _justIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Just _justIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Just _justIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _justOcat =+ _lhsIcat+ -- copy rule (down)+ _justOidenv =+ _lhsIidenv+ -- copy rule (down)+ _justOlib =+ _lhsIlib+ ( _justIannotatedTree,_justIcidenv,_justIfixedUpIdentifiersTree,_justIlibUpdates,_justIlistType,_justIoriginalTree) =+ just_ _justOcat _justOidenv _justOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))+sem_MaybeSelectList_Nothing :: T_MaybeSelectList +sem_MaybeSelectList_Nothing =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOlistType :: ([(String,Maybe Type)])+ _lhsOannotatedTree :: MaybeSelectList + _lhsOfixedUpIdentifiersTree :: MaybeSelectList + _lhsOoriginalTree :: MaybeSelectList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 39, column 15)+ _lhsOlistType =+ []+ -- self rule+ _annotatedTree =+ Nothing+ -- self rule+ _fixedUpIdentifiersTree =+ Nothing+ -- self rule+ _originalTree =+ Nothing+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))+-- Name --------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + tbAnnotatedTree : Name + tbUType : Maybe ([(String,Type)],[(String,Type)])+ alternatives:+ alternative Name:+ child ann : {Annotation}+ child is : {[NameComponent]}+ visit 0:+ local tpe : {E ([(String,Type)],[(String,Type)])}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data Name = Name (Annotation) (([NameComponent])) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_Name :: Name ->+ T_Name +sem_Name (Name _ann _is ) =+ (sem_Name_Name _ann _is )+-- semantic domain+type T_Name = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( Name ,Name ,Name ,Name ,(Maybe ([(String,Type)],[(String,Type)])))+data Inh_Name = Inh_Name {cat_Inh_Name :: Catalog,idenv_Inh_Name :: IDEnv,lib_Inh_Name :: LocalBindings}+data Syn_Name = Syn_Name {annotatedTree_Syn_Name :: Name ,fixedUpIdentifiersTree_Syn_Name :: Name ,originalTree_Syn_Name :: Name ,tbAnnotatedTree_Syn_Name :: Name ,tbUType_Syn_Name :: (Maybe ([(String,Type)],[(String,Type)]))}+wrap_Name :: T_Name ->+ Inh_Name ->+ Syn_Name +wrap_Name sem (Inh_Name _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOtbAnnotatedTree,_lhsOtbUType) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_Name _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOtbAnnotatedTree _lhsOtbUType ))+sem_Name_Name :: Annotation ->+ ([NameComponent]) ->+ T_Name +sem_Name_Name ann_ is_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _tpe :: (E ([(String,Type)],[(String,Type)]))+ _lhsOtbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _lhsOtbAnnotatedTree :: Name + _lhsOannotatedTree :: Name + _lhsOfixedUpIdentifiersTree :: Name + _lhsOoriginalTree :: Name + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 67, column 9)+ _tpe =+ catCompositeAttrsPair _lhsIcat relationComposites+ (getUnqual is_)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 69, column 9)+ _lhsOtbUType =+ either (const Nothing) Just _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 70, column 9)+ _lhsOtbAnnotatedTree =+ updateAnnotation+ (\a -> a {errs = errs a ++ tes _tpe }) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 73, column 9)+ _backTree =+ Name ann_ is_+ -- self rule+ _annotatedTree =+ Name ann_ is_+ -- self rule+ _fixedUpIdentifiersTree =+ Name ann_ is_+ -- self rule+ _originalTree =+ Name ann_ is_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOtbAnnotatedTree,_lhsOtbUType)))+-- NameComponentList -------------------------------------------+{-+ alternatives:+ alternative Cons:+ child hd : {NameComponent}+ child tl : NameComponentList + alternative Nil:+-}+type NameComponentList = [(NameComponent)]+-- cata+sem_NameComponentList :: NameComponentList ->+ T_NameComponentList +sem_NameComponentList list =+ (Prelude.foldr sem_NameComponentList_Cons sem_NameComponentList_Nil list )+-- semantic domain+type T_NameComponentList = ( )+data Inh_NameComponentList = Inh_NameComponentList {}+data Syn_NameComponentList = Syn_NameComponentList {}+wrap_NameComponentList :: T_NameComponentList ->+ Inh_NameComponentList ->+ Syn_NameComponentList +wrap_NameComponentList sem (Inh_NameComponentList ) =+ (let ( ) = sem + in (Syn_NameComponentList ))+sem_NameComponentList_Cons :: NameComponent ->+ T_NameComponentList ->+ T_NameComponentList +sem_NameComponentList_Cons hd_ tl_ =+ (let + in ( ))+sem_NameComponentList_Nil :: T_NameComponentList +sem_NameComponentList_Nil =+ (let + in ( ))+-- NameTypeNameListPair ----------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + fnSig : (Name,[Maybe Type])+ originalTree : SELF + alternatives:+ alternative Tuple:+ child x1 : Name + child x2 : TypeNameList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type NameTypeNameListPair = ( Name ,TypeNameList )+-- cata+sem_NameTypeNameListPair :: NameTypeNameListPair ->+ T_NameTypeNameListPair +sem_NameTypeNameListPair ( x1,x2) =+ (sem_NameTypeNameListPair_Tuple (sem_Name x1 ) (sem_TypeNameList x2 ) )+-- semantic domain+type T_NameTypeNameListPair = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( NameTypeNameListPair ,NameTypeNameListPair ,((Name,[Maybe Type])),NameTypeNameListPair )+data Inh_NameTypeNameListPair = Inh_NameTypeNameListPair {cat_Inh_NameTypeNameListPair :: Catalog,idenv_Inh_NameTypeNameListPair :: IDEnv,lib_Inh_NameTypeNameListPair :: LocalBindings}+data Syn_NameTypeNameListPair = Syn_NameTypeNameListPair {annotatedTree_Syn_NameTypeNameListPair :: NameTypeNameListPair ,fixedUpIdentifiersTree_Syn_NameTypeNameListPair :: NameTypeNameListPair ,fnSig_Syn_NameTypeNameListPair :: ((Name,[Maybe Type])),originalTree_Syn_NameTypeNameListPair :: NameTypeNameListPair }+wrap_NameTypeNameListPair :: T_NameTypeNameListPair ->+ Inh_NameTypeNameListPair ->+ Syn_NameTypeNameListPair +wrap_NameTypeNameListPair sem (Inh_NameTypeNameListPair _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOfnSig,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_NameTypeNameListPair _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOfnSig _lhsOoriginalTree ))+sem_NameTypeNameListPair_Tuple :: T_Name ->+ T_TypeNameList ->+ T_NameTypeNameListPair +sem_NameTypeNameListPair_Tuple x1_ x2_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOfnSig :: ((Name,[Maybe Type]))+ _lhsOannotatedTree :: NameTypeNameListPair + _lhsOfixedUpIdentifiersTree :: NameTypeNameListPair + _lhsOoriginalTree :: NameTypeNameListPair + _x1Ocat :: Catalog+ _x1Oidenv :: IDEnv+ _x1Olib :: LocalBindings+ _x2Ocat :: Catalog+ _x2Oidenv :: IDEnv+ _x2Olib :: LocalBindings+ _x1IannotatedTree :: Name + _x1IfixedUpIdentifiersTree :: Name + _x1IoriginalTree :: Name + _x1ItbAnnotatedTree :: Name + _x1ItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _x2IannotatedTree :: TypeNameList + _x2IfixedUpIdentifiersTree :: TypeNameList + _x2InamedTypes :: ([Maybe Type])+ _x2IoriginalTree :: TypeNameList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 32, column 13)+ _lhsOfnSig =+ (_x1IoriginalTree, _x2InamedTypes)+ -- self rule+ _annotatedTree =+ (_x1IannotatedTree,_x2IannotatedTree)+ -- self rule+ _fixedUpIdentifiersTree =+ (_x1IfixedUpIdentifiersTree,_x2IfixedUpIdentifiersTree)+ -- self rule+ _originalTree =+ (_x1IoriginalTree,_x2IoriginalTree)+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _x1Ocat =+ _lhsIcat+ -- copy rule (down)+ _x1Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _x1Olib =+ _lhsIlib+ -- copy rule (down)+ _x2Ocat =+ _lhsIcat+ -- copy rule (down)+ _x2Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _x2Olib =+ _lhsIlib+ ( _x1IannotatedTree,_x1IfixedUpIdentifiersTree,_x1IoriginalTree,_x1ItbAnnotatedTree,_x1ItbUType) =+ x1_ _x1Ocat _x1Oidenv _x1Olib + ( _x2IannotatedTree,_x2IfixedUpIdentifiersTree,_x2InamedTypes,_x2IoriginalTree) =+ x2_ _x2Ocat _x2Oidenv _x2Olib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOfnSig,_lhsOoriginalTree)))+-- NameTypeNameListPairList ------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + fnSigs : [(Name,[Maybe Type])]+ originalTree : SELF + alternatives:+ alternative Cons:+ child hd : NameTypeNameListPair + child tl : NameTypeNameListPairList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type NameTypeNameListPairList = [NameTypeNameListPair ]+-- cata+sem_NameTypeNameListPairList :: NameTypeNameListPairList ->+ T_NameTypeNameListPairList +sem_NameTypeNameListPairList list =+ (Prelude.foldr sem_NameTypeNameListPairList_Cons sem_NameTypeNameListPairList_Nil (Prelude.map sem_NameTypeNameListPair list) )+-- semantic domain+type T_NameTypeNameListPairList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( NameTypeNameListPairList ,NameTypeNameListPairList ,([(Name,[Maybe Type])]),NameTypeNameListPairList )+data Inh_NameTypeNameListPairList = Inh_NameTypeNameListPairList {cat_Inh_NameTypeNameListPairList :: Catalog,idenv_Inh_NameTypeNameListPairList :: IDEnv,lib_Inh_NameTypeNameListPairList :: LocalBindings}+data Syn_NameTypeNameListPairList = Syn_NameTypeNameListPairList {annotatedTree_Syn_NameTypeNameListPairList :: NameTypeNameListPairList ,fixedUpIdentifiersTree_Syn_NameTypeNameListPairList :: NameTypeNameListPairList ,fnSigs_Syn_NameTypeNameListPairList :: ([(Name,[Maybe Type])]),originalTree_Syn_NameTypeNameListPairList :: NameTypeNameListPairList }+wrap_NameTypeNameListPairList :: T_NameTypeNameListPairList ->+ Inh_NameTypeNameListPairList ->+ Syn_NameTypeNameListPairList +wrap_NameTypeNameListPairList sem (Inh_NameTypeNameListPairList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOfnSigs,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_NameTypeNameListPairList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOfnSigs _lhsOoriginalTree ))+sem_NameTypeNameListPairList_Cons :: T_NameTypeNameListPair ->+ T_NameTypeNameListPairList ->+ T_NameTypeNameListPairList +sem_NameTypeNameListPairList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOfnSigs :: ([(Name,[Maybe Type])])+ _lhsOannotatedTree :: NameTypeNameListPairList + _lhsOfixedUpIdentifiersTree :: NameTypeNameListPairList + _lhsOoriginalTree :: NameTypeNameListPairList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: NameTypeNameListPair + _hdIfixedUpIdentifiersTree :: NameTypeNameListPair + _hdIfnSig :: ((Name,[Maybe Type]))+ _hdIoriginalTree :: NameTypeNameListPair + _tlIannotatedTree :: NameTypeNameListPairList + _tlIfixedUpIdentifiersTree :: NameTypeNameListPairList + _tlIfnSigs :: ([(Name,[Maybe Type])])+ _tlIoriginalTree :: NameTypeNameListPairList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 27, column 12)+ _lhsOfnSigs =+ _hdIfnSig : _tlIfnSigs+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIfnSig,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIfnSigs,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOfnSigs,_lhsOoriginalTree)))+sem_NameTypeNameListPairList_Nil :: T_NameTypeNameListPairList +sem_NameTypeNameListPairList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOfnSigs :: ([(Name,[Maybe Type])])+ _lhsOannotatedTree :: NameTypeNameListPairList + _lhsOfixedUpIdentifiersTree :: NameTypeNameListPairList + _lhsOoriginalTree :: NameTypeNameListPairList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 28, column 11)+ _lhsOfnSigs =+ []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOfnSigs,_lhsOoriginalTree)))+-- OnExpr ------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Just:+ child just : JoinExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nothing:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type OnExpr = Maybe JoinExpr +-- cata+sem_OnExpr :: OnExpr ->+ T_OnExpr +sem_OnExpr (Prelude.Just x ) =+ (sem_OnExpr_Just (sem_JoinExpr x ) )+sem_OnExpr Prelude.Nothing =+ sem_OnExpr_Nothing+-- semantic domain+type T_OnExpr = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( OnExpr ,OnExpr ,OnExpr )+data Inh_OnExpr = Inh_OnExpr {cat_Inh_OnExpr :: Catalog,idenv_Inh_OnExpr :: IDEnv,lib_Inh_OnExpr :: LocalBindings}+data Syn_OnExpr = Syn_OnExpr {annotatedTree_Syn_OnExpr :: OnExpr ,fixedUpIdentifiersTree_Syn_OnExpr :: OnExpr ,originalTree_Syn_OnExpr :: OnExpr }+wrap_OnExpr :: T_OnExpr ->+ Inh_OnExpr ->+ Syn_OnExpr +wrap_OnExpr sem (Inh_OnExpr _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_OnExpr _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_OnExpr_Just :: T_JoinExpr ->+ T_OnExpr +sem_OnExpr_Just just_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: OnExpr + _lhsOfixedUpIdentifiersTree :: OnExpr + _lhsOoriginalTree :: OnExpr + _justOcat :: Catalog+ _justOidenv :: IDEnv+ _justOlib :: LocalBindings+ _justIannotatedTree :: JoinExpr + _justIfixedUpIdentifiersTree :: JoinExpr + _justIoriginalTree :: JoinExpr + -- self rule+ _annotatedTree =+ Just _justIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Just _justIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Just _justIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _justOcat =+ _lhsIcat+ -- copy rule (down)+ _justOidenv =+ _lhsIidenv+ -- copy rule (down)+ _justOlib =+ _lhsIlib+ ( _justIannotatedTree,_justIfixedUpIdentifiersTree,_justIoriginalTree) =+ just_ _justOcat _justOidenv _justOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_OnExpr_Nothing :: T_OnExpr +sem_OnExpr_Nothing =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: OnExpr + _lhsOfixedUpIdentifiersTree :: OnExpr + _lhsOoriginalTree :: OnExpr + -- self rule+ _annotatedTree =+ Nothing+ -- self rule+ _fixedUpIdentifiersTree =+ Nothing+ -- self rule+ _originalTree =+ Nothing+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- ParamDef ----------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ pos : Int+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + namedType : Maybe Type+ originalTree : SELF + paramName : ParamName+ alternatives:+ alternative ParamDef:+ child ann : {Annotation}+ child name : {NameComponent}+ child typ : TypeName + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative ParamDefTp:+ child ann : {Annotation}+ child typ : TypeName + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data ParamDef = ParamDef (Annotation) (NameComponent) (TypeName ) + | ParamDefTp (Annotation) (TypeName ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_ParamDef :: ParamDef ->+ T_ParamDef +sem_ParamDef (ParamDef _ann _name _typ ) =+ (sem_ParamDef_ParamDef _ann _name (sem_TypeName _typ ) )+sem_ParamDef (ParamDefTp _ann _typ ) =+ (sem_ParamDef_ParamDefTp _ann (sem_TypeName _typ ) )+-- semantic domain+type T_ParamDef = Catalog ->+ IDEnv ->+ LocalBindings ->+ Int ->+ ( ParamDef ,ParamDef ,(Maybe Type),ParamDef ,ParamName)+data Inh_ParamDef = Inh_ParamDef {cat_Inh_ParamDef :: Catalog,idenv_Inh_ParamDef :: IDEnv,lib_Inh_ParamDef :: LocalBindings,pos_Inh_ParamDef :: Int}+data Syn_ParamDef = Syn_ParamDef {annotatedTree_Syn_ParamDef :: ParamDef ,fixedUpIdentifiersTree_Syn_ParamDef :: ParamDef ,namedType_Syn_ParamDef :: (Maybe Type),originalTree_Syn_ParamDef :: ParamDef ,paramName_Syn_ParamDef :: ParamName}+wrap_ParamDef :: T_ParamDef ->+ Inh_ParamDef ->+ Syn_ParamDef +wrap_ParamDef sem (Inh_ParamDef _lhsIcat _lhsIidenv _lhsIlib _lhsIpos ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree,_lhsOparamName) = sem _lhsIcat _lhsIidenv _lhsIlib _lhsIpos + in (Syn_ParamDef _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOnamedType _lhsOoriginalTree _lhsOparamName ))+sem_ParamDef_ParamDef :: Annotation ->+ NameComponent ->+ T_TypeName ->+ T_ParamDef +sem_ParamDef_ParamDef ann_ name_ typ_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib+ _lhsIpos ->+ (let _lhsOnamedType :: (Maybe Type)+ _lhsOparamName :: ParamName+ _lhsOannotatedTree :: ParamDef + _lhsOfixedUpIdentifiersTree :: ParamDef + _lhsOoriginalTree :: ParamDef + _typOcat :: Catalog+ _typOidenv :: IDEnv+ _typOlib :: LocalBindings+ _typIannotatedTree :: TypeName + _typIfixedUpIdentifiersTree :: TypeName + _typInamedType :: (Maybe Type)+ _typIoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 45, column 9)+ _lhsOnamedType =+ _typInamedType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 47, column 9)+ _lhsOparamName =+ NamedParam _lhsIpos (ncStr name_)+ -- self rule+ _annotatedTree =+ ParamDef ann_ name_ _typIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ ParamDef ann_ name_ _typIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ ParamDef ann_ name_ _typIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _typOcat =+ _lhsIcat+ -- copy rule (down)+ _typOidenv =+ _lhsIidenv+ -- copy rule (down)+ _typOlib =+ _lhsIlib+ ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =+ typ_ _typOcat _typOidenv _typOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree,_lhsOparamName)))+sem_ParamDef_ParamDefTp :: Annotation ->+ T_TypeName ->+ T_ParamDef +sem_ParamDef_ParamDefTp ann_ typ_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib+ _lhsIpos ->+ (let _lhsOnamedType :: (Maybe Type)+ _lhsOparamName :: ParamName+ _lhsOannotatedTree :: ParamDef + _lhsOfixedUpIdentifiersTree :: ParamDef + _lhsOoriginalTree :: ParamDef + _typOcat :: Catalog+ _typOidenv :: IDEnv+ _typOlib :: LocalBindings+ _typIannotatedTree :: TypeName + _typIfixedUpIdentifiersTree :: TypeName + _typInamedType :: (Maybe Type)+ _typIoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 45, column 9)+ _lhsOnamedType =+ _typInamedType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 49, column 9)+ _lhsOparamName =+ UnnamedParam _lhsIpos+ -- self rule+ _annotatedTree =+ ParamDefTp ann_ _typIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ ParamDefTp ann_ _typIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ ParamDefTp ann_ _typIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _typOcat =+ _lhsIcat+ -- copy rule (down)+ _typOidenv =+ _lhsIidenv+ -- copy rule (down)+ _typOlib =+ _lhsIlib+ ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =+ typ_ _typOcat _typOidenv _typOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree,_lhsOparamName)))+-- ParamDefList ------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ pos : Int+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + params : [(ParamName, Maybe Type)]+ alternatives:+ alternative Cons:+ child hd : ParamDef + child tl : ParamDefList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type ParamDefList = [ParamDef ]+-- cata+sem_ParamDefList :: ParamDefList ->+ T_ParamDefList +sem_ParamDefList list =+ (Prelude.foldr sem_ParamDefList_Cons sem_ParamDefList_Nil (Prelude.map sem_ParamDef list) )+-- semantic domain+type T_ParamDefList = Catalog ->+ IDEnv ->+ LocalBindings ->+ Int ->+ ( ParamDefList ,ParamDefList ,ParamDefList ,([(ParamName, Maybe Type)]))+data Inh_ParamDefList = Inh_ParamDefList {cat_Inh_ParamDefList :: Catalog,idenv_Inh_ParamDefList :: IDEnv,lib_Inh_ParamDefList :: LocalBindings,pos_Inh_ParamDefList :: Int}+data Syn_ParamDefList = Syn_ParamDefList {annotatedTree_Syn_ParamDefList :: ParamDefList ,fixedUpIdentifiersTree_Syn_ParamDefList :: ParamDefList ,originalTree_Syn_ParamDefList :: ParamDefList ,params_Syn_ParamDefList :: ([(ParamName, Maybe Type)])}+wrap_ParamDefList :: T_ParamDefList ->+ Inh_ParamDefList ->+ Syn_ParamDefList +wrap_ParamDefList sem (Inh_ParamDefList _lhsIcat _lhsIidenv _lhsIlib _lhsIpos ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOparams) = sem _lhsIcat _lhsIidenv _lhsIlib _lhsIpos + in (Syn_ParamDefList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOparams ))+sem_ParamDefList_Cons :: T_ParamDef ->+ T_ParamDefList ->+ T_ParamDefList +sem_ParamDefList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib+ _lhsIpos ->+ (let _lhsOparams :: ([(ParamName, Maybe Type)])+ _hdOpos :: Int+ _tlOpos :: Int+ _lhsOannotatedTree :: ParamDefList + _lhsOfixedUpIdentifiersTree :: ParamDefList + _lhsOoriginalTree :: ParamDefList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: ParamDef + _hdIfixedUpIdentifiersTree :: ParamDef + _hdInamedType :: (Maybe Type)+ _hdIoriginalTree :: ParamDef + _hdIparamName :: ParamName+ _tlIannotatedTree :: ParamDefList + _tlIfixedUpIdentifiersTree :: ParamDefList + _tlIoriginalTree :: ParamDefList + _tlIparams :: ([(ParamName, Maybe Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 53, column 13)+ _lhsOparams =+ ((_hdIparamName, _hdInamedType) : _tlIparams)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 54, column 13)+ _hdOpos =+ _lhsIpos+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 55, column 13)+ _tlOpos =+ _lhsIpos + 1+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdInamedType,_hdIoriginalTree,_hdIparamName) =+ hd_ _hdOcat _hdOidenv _hdOlib _hdOpos + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIparams) =+ tl_ _tlOcat _tlOidenv _tlOlib _tlOpos + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOparams)))+sem_ParamDefList_Nil :: T_ParamDefList +sem_ParamDefList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib+ _lhsIpos ->+ (let _lhsOparams :: ([(ParamName, Maybe Type)])+ _lhsOannotatedTree :: ParamDefList + _lhsOfixedUpIdentifiersTree :: ParamDefList + _lhsOoriginalTree :: ParamDefList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 52, column 12)+ _lhsOparams =+ []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOparams)))+-- QueryExpr ---------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ csql : LocalBindings+ expectedTypes : [Maybe Type]+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + cidenv : IDEnv+ fixedUpIdentifiersTree : SELF + libUpdates : [LocalBindingsUpdate]+ originalTree : SELF + uType : Maybe [(String,Type)]+ alternatives:+ alternative CombineQueryExpr:+ child ann : {Annotation}+ child ctype : {CombineType}+ child sel1 : QueryExpr + child sel2 : QueryExpr + visit 0:+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Select:+ child ann : {Annotation}+ child selDistinct : {Distinct}+ child selSelectList : SelectList + child selTref : TableRefList + child selWhere : MaybeBoolExpr + child selGroupBy : ScalarExprList + child selHaving : MaybeBoolExpr + child selOrderBy : ScalarExprDirectionPairList + child selLimit : MaybeScalarExpr + child selOffset : MaybeScalarExpr + visit 0:+ local trefEnv : _+ local includeCorrelations : _+ local newLib : _+ local slTypes : {LocalBindings}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Values:+ child ann : {Annotation}+ child vll : ScalarExprListList + visit 0:+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative WithQueryExpr:+ child ann : {Annotation}+ child withs : WithQueryList + child ex : QueryExpr + visit 0:+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data QueryExpr = CombineQueryExpr (Annotation) (CombineType) (QueryExpr ) (QueryExpr ) + | Select (Annotation) (Distinct) (SelectList ) (TableRefList ) (MaybeBoolExpr ) (ScalarExprList ) (MaybeBoolExpr ) (ScalarExprDirectionPairList ) (MaybeScalarExpr ) (MaybeScalarExpr ) + | Values (Annotation) (ScalarExprListList ) + | WithQueryExpr (Annotation) (WithQueryList ) (QueryExpr ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_QueryExpr :: QueryExpr ->+ T_QueryExpr +sem_QueryExpr (CombineQueryExpr _ann _ctype _sel1 _sel2 ) =+ (sem_QueryExpr_CombineQueryExpr _ann _ctype (sem_QueryExpr _sel1 ) (sem_QueryExpr _sel2 ) )+sem_QueryExpr (Select _ann _selDistinct _selSelectList _selTref _selWhere _selGroupBy _selHaving _selOrderBy _selLimit _selOffset ) =+ (sem_QueryExpr_Select _ann _selDistinct (sem_SelectList _selSelectList ) (sem_TableRefList _selTref ) (sem_MaybeBoolExpr _selWhere ) (sem_ScalarExprList _selGroupBy ) (sem_MaybeBoolExpr _selHaving ) (sem_ScalarExprDirectionPairList _selOrderBy ) (sem_MaybeScalarExpr _selLimit ) (sem_MaybeScalarExpr _selOffset ) )+sem_QueryExpr (Values _ann _vll ) =+ (sem_QueryExpr_Values _ann (sem_ScalarExprListList _vll ) )+sem_QueryExpr (WithQueryExpr _ann _withs _ex ) =+ (sem_QueryExpr_WithQueryExpr _ann (sem_WithQueryList _withs ) (sem_QueryExpr _ex ) )+-- semantic domain+type T_QueryExpr = Catalog ->+ LocalBindings ->+ ([Maybe Type]) ->+ IDEnv ->+ LocalBindings ->+ ( QueryExpr ,IDEnv,QueryExpr ,([LocalBindingsUpdate]),QueryExpr ,(Maybe [(String,Type)]))+data Inh_QueryExpr = Inh_QueryExpr {cat_Inh_QueryExpr :: Catalog,csql_Inh_QueryExpr :: LocalBindings,expectedTypes_Inh_QueryExpr :: ([Maybe Type]),idenv_Inh_QueryExpr :: IDEnv,lib_Inh_QueryExpr :: LocalBindings}+data Syn_QueryExpr = Syn_QueryExpr {annotatedTree_Syn_QueryExpr :: QueryExpr ,cidenv_Syn_QueryExpr :: IDEnv,fixedUpIdentifiersTree_Syn_QueryExpr :: QueryExpr ,libUpdates_Syn_QueryExpr :: ([LocalBindingsUpdate]),originalTree_Syn_QueryExpr :: QueryExpr ,uType_Syn_QueryExpr :: (Maybe [(String,Type)])}+wrap_QueryExpr :: T_QueryExpr ->+ Inh_QueryExpr ->+ Syn_QueryExpr +wrap_QueryExpr sem (Inh_QueryExpr _lhsIcat _lhsIcsql _lhsIexpectedTypes _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree,_lhsOuType) = sem _lhsIcat _lhsIcsql _lhsIexpectedTypes _lhsIidenv _lhsIlib + in (Syn_QueryExpr _lhsOannotatedTree _lhsOcidenv _lhsOfixedUpIdentifiersTree _lhsOlibUpdates _lhsOoriginalTree _lhsOuType ))+sem_QueryExpr_CombineQueryExpr :: Annotation ->+ CombineType ->+ T_QueryExpr ->+ T_QueryExpr ->+ T_QueryExpr +sem_QueryExpr_CombineQueryExpr ann_ ctype_ sel1_ sel2_ =+ (\ _lhsIcat+ _lhsIcsql+ _lhsIexpectedTypes+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOcidenv :: IDEnv+ _lhsOannotatedTree :: QueryExpr + _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: Et+ _lhsOuType :: (Maybe [(String,Type)])+ _lhsOfixedUpIdentifiersTree :: QueryExpr + _lhsOoriginalTree :: QueryExpr + _sel1Ocat :: Catalog+ _sel1Ocsql :: LocalBindings+ _sel1OexpectedTypes :: ([Maybe Type])+ _sel1Oidenv :: IDEnv+ _sel1Olib :: LocalBindings+ _sel2Ocat :: Catalog+ _sel2Ocsql :: LocalBindings+ _sel2OexpectedTypes :: ([Maybe Type])+ _sel2Oidenv :: IDEnv+ _sel2Olib :: LocalBindings+ _sel1IannotatedTree :: QueryExpr + _sel1Icidenv :: IDEnv+ _sel1IfixedUpIdentifiersTree :: QueryExpr + _sel1IlibUpdates :: ([LocalBindingsUpdate])+ _sel1IoriginalTree :: QueryExpr + _sel1IuType :: (Maybe [(String,Type)])+ _sel2IannotatedTree :: QueryExpr + _sel2Icidenv :: IDEnv+ _sel2IfixedUpIdentifiersTree :: QueryExpr + _sel2IlibUpdates :: ([LocalBindingsUpdate])+ _sel2IoriginalTree :: QueryExpr + _sel2IuType :: (Maybe [(String,Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 237, column 24)+ _lhsOcidenv =+ _sel1Icidenv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 29, column 9)+ _lhsOannotatedTree =+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 141, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 168, column 9)+ _tpe =+ do+ sel1t <- lmt ((SetOfType . CompositeType) <$> _sel1IuType)+ sel2t <- lmt ((SetOfType . CompositeType) <$> _sel2IuType)+ typeCheckCombineSelect _lhsIcat sel1t sel2t+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 174, column 9)+ _backTree =+ CombineQueryExpr ann_ ctype_+ _sel1IannotatedTree+ _sel2IannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 185, column 9)+ _lhsOuType =+ etmt (_tpe >>= unwrapSetOfComposite)+ -- self rule+ _annotatedTree =+ CombineQueryExpr ann_ ctype_ _sel1IannotatedTree _sel2IannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CombineQueryExpr ann_ ctype_ _sel1IfixedUpIdentifiersTree _sel2IfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CombineQueryExpr ann_ ctype_ _sel1IoriginalTree _sel2IoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _sel1Ocat =+ _lhsIcat+ -- copy rule (down)+ _sel1Ocsql =+ _lhsIcsql+ -- copy rule (down)+ _sel1OexpectedTypes =+ _lhsIexpectedTypes+ -- copy rule (down)+ _sel1Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _sel1Olib =+ _lhsIlib+ -- copy rule (down)+ _sel2Ocat =+ _lhsIcat+ -- copy rule (down)+ _sel2Ocsql =+ _lhsIcsql+ -- copy rule (down)+ _sel2OexpectedTypes =+ _lhsIexpectedTypes+ -- copy rule (down)+ _sel2Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _sel2Olib =+ _lhsIlib+ ( _sel1IannotatedTree,_sel1Icidenv,_sel1IfixedUpIdentifiersTree,_sel1IlibUpdates,_sel1IoriginalTree,_sel1IuType) =+ sel1_ _sel1Ocat _sel1Ocsql _sel1OexpectedTypes _sel1Oidenv _sel1Olib + ( _sel2IannotatedTree,_sel2Icidenv,_sel2IfixedUpIdentifiersTree,_sel2IlibUpdates,_sel2IoriginalTree,_sel2IuType) =+ sel2_ _sel2Ocat _sel2Ocsql _sel2OexpectedTypes _sel2Oidenv _sel2Olib + in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree,_lhsOuType)))+sem_QueryExpr_Select :: Annotation ->+ Distinct ->+ T_SelectList ->+ T_TableRefList ->+ T_MaybeBoolExpr ->+ T_ScalarExprList ->+ T_MaybeBoolExpr ->+ T_ScalarExprDirectionPairList ->+ T_MaybeScalarExpr ->+ T_MaybeScalarExpr ->+ T_QueryExpr +sem_QueryExpr_Select ann_ selDistinct_ selSelectList_ selTref_ selWhere_ selGroupBy_ selHaving_ selOrderBy_ selLimit_ selOffset_ =+ (\ _lhsIcat+ _lhsIcsql+ _lhsIexpectedTypes+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOfixedUpIdentifiersTree :: QueryExpr + _lhsOcidenv :: IDEnv+ _selSelectListOidenv :: IDEnv+ _selWhereOidenv :: IDEnv+ _selGroupByOidenv :: IDEnv+ _selHavingOidenv :: IDEnv+ _selOrderByOidenv :: IDEnv+ _lhsOannotatedTree :: QueryExpr + _selSelectListOlib :: LocalBindings+ _selWhereOlib :: LocalBindings+ _selHavingOlib :: LocalBindings+ _selGroupByOlib :: LocalBindings+ _slTypes :: LocalBindings+ _selOrderByOlib :: LocalBindings+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: Et+ _lhsOuType :: (Maybe [(String,Type)])+ _selGroupByOexpectedTypes :: ([Maybe Type])+ _lhsOoriginalTree :: QueryExpr + _selSelectListOcat :: Catalog+ _selTrefOcat :: Catalog+ _selTrefOidenv :: IDEnv+ _selTrefOlib :: LocalBindings+ _selWhereOcat :: Catalog+ _selGroupByOcat :: Catalog+ _selHavingOcat :: Catalog+ _selOrderByOcat :: Catalog+ _selLimitOcat :: Catalog+ _selLimitOidenv :: IDEnv+ _selLimitOlib :: LocalBindings+ _selOffsetOcat :: Catalog+ _selOffsetOidenv :: IDEnv+ _selOffsetOlib :: LocalBindings+ _selSelectListIannotatedTree :: SelectList + _selSelectListIcidenv :: IDEnv+ _selSelectListIfixedUpIdentifiersTree :: SelectList + _selSelectListIlibUpdates :: ([LocalBindingsUpdate])+ _selSelectListIlistType :: ([(String,Maybe Type)])+ _selSelectListIoriginalTree :: SelectList + _selTrefIannotatedTree :: TableRefList + _selTrefIfixedUpIdentifiersTree :: TableRefList + _selTrefIlibUpdates :: ([LocalBindingsUpdate])+ _selTrefInewLib2 :: LocalBindings+ _selTrefIoriginalTree :: TableRefList + _selTrefItrefIDs :: IDEnv+ _selWhereIannotatedTree :: MaybeBoolExpr + _selWhereIfixedUpIdentifiersTree :: MaybeBoolExpr + _selWhereIoriginalTree :: MaybeBoolExpr + _selGroupByIannotatedTree :: ScalarExprList + _selGroupByIfixedUpIdentifiersTree :: ScalarExprList + _selGroupByIoriginalTree :: ScalarExprList + _selGroupByIuType :: ([Maybe Type])+ _selHavingIannotatedTree :: MaybeBoolExpr + _selHavingIfixedUpIdentifiersTree :: MaybeBoolExpr + _selHavingIoriginalTree :: MaybeBoolExpr + _selOrderByIannotatedTree :: ScalarExprDirectionPairList + _selOrderByIfixedUpIdentifiersTree :: ScalarExprDirectionPairList + _selOrderByIoriginalTree :: ScalarExprDirectionPairList + _selLimitIannotatedTree :: MaybeScalarExpr + _selLimitIfixedUpIdentifiersTree :: MaybeScalarExpr + _selLimitIoriginalTree :: MaybeScalarExpr + _selLimitIuType :: (Maybe Type)+ _selOffsetIannotatedTree :: MaybeScalarExpr + _selOffsetIfixedUpIdentifiersTree :: MaybeScalarExpr + _selOffsetIoriginalTree :: MaybeScalarExpr + _selOffsetIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 194, column 9)+ _lhsOfixedUpIdentifiersTree =+ Select ann_+ selDistinct_+ _selSelectListIfixedUpIdentifiersTree+ _selTrefIfixedUpIdentifiersTree+ _selWhereIfixedUpIdentifiersTree+ _selGroupByIfixedUpIdentifiersTree+ _selHavingIfixedUpIdentifiersTree+ _selOrderByIfixedUpIdentifiersTree+ _selLimitIfixedUpIdentifiersTree+ _selOffsetIfixedUpIdentifiersTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 236, column 14)+ _lhsOcidenv =+ _selSelectListIcidenv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 282, column 14)+ _trefEnv =+ _selTrefItrefIDs+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 283, column 14)+ _includeCorrelations =+ CorrelatedIDEnv _trefEnv _lhsIidenv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 284, column 14)+ _selSelectListOidenv =+ _trefEnv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 285, column 14)+ _selWhereOidenv =+ _includeCorrelations+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 286, column 14)+ _selGroupByOidenv =+ _trefEnv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 287, column 14)+ _selHavingOidenv =+ _includeCorrelations+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 288, column 14)+ _selOrderByOidenv =+ _trefEnv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 29, column 9)+ _lhsOannotatedTree =+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 101, column 10)+ _newLib =+ _selTrefInewLib2+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 102, column 10)+ _selSelectListOlib =+ _newLib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 104, column 10)+ _selWhereOlib =+ joinBindings _newLib _lhsIcsql+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 105, column 10)+ _selHavingOlib =+ joinBindings _newLib _lhsIcsql+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 106, column 10)+ _selGroupByOlib =+ _newLib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 111, column 10)+ _slTypes =+ createLocalBindings $ Just [("",_selSelectListIlistType)]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 112, column 10)+ _selOrderByOlib =+ joinBindings _slTypes _newLib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 143, column 9)+ _lhsOlibUpdates =+ _selSelectListIlibUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 155, column 9)+ _tpe =+ Right $ SetOfType $ CompositeType $ fromMaybe [] $ liftList _selSelectListIlistType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 157, column 9)+ _backTree =+ Select ann_+ selDistinct_+ _selSelectListIannotatedTree+ _selTrefIannotatedTree+ _selWhereIannotatedTree+ _selGroupByIannotatedTree+ _selHavingIannotatedTree+ _selOrderByIannotatedTree+ _selLimitIannotatedTree+ _selOffsetIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 185, column 9)+ _lhsOuType =+ etmt (_tpe >>= unwrapSetOfComposite)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 148, column 14)+ _selGroupByOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ Select ann_ selDistinct_ _selSelectListIannotatedTree _selTrefIannotatedTree _selWhereIannotatedTree _selGroupByIannotatedTree _selHavingIannotatedTree _selOrderByIannotatedTree _selLimitIannotatedTree _selOffsetIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Select ann_ selDistinct_ _selSelectListIfixedUpIdentifiersTree _selTrefIfixedUpIdentifiersTree _selWhereIfixedUpIdentifiersTree _selGroupByIfixedUpIdentifiersTree _selHavingIfixedUpIdentifiersTree _selOrderByIfixedUpIdentifiersTree _selLimitIfixedUpIdentifiersTree _selOffsetIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Select ann_ selDistinct_ _selSelectListIoriginalTree _selTrefIoriginalTree _selWhereIoriginalTree _selGroupByIoriginalTree _selHavingIoriginalTree _selOrderByIoriginalTree _selLimitIoriginalTree _selOffsetIoriginalTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _selSelectListOcat =+ _lhsIcat+ -- copy rule (down)+ _selTrefOcat =+ _lhsIcat+ -- copy rule (down)+ _selTrefOidenv =+ _lhsIidenv+ -- copy rule (down)+ _selTrefOlib =+ _lhsIlib+ -- copy rule (down)+ _selWhereOcat =+ _lhsIcat+ -- copy rule (down)+ _selGroupByOcat =+ _lhsIcat+ -- copy rule (down)+ _selHavingOcat =+ _lhsIcat+ -- copy rule (down)+ _selOrderByOcat =+ _lhsIcat+ -- copy rule (down)+ _selLimitOcat =+ _lhsIcat+ -- copy rule (down)+ _selLimitOidenv =+ _lhsIidenv+ -- copy rule (down)+ _selLimitOlib =+ _lhsIlib+ -- copy rule (down)+ _selOffsetOcat =+ _lhsIcat+ -- copy rule (down)+ _selOffsetOidenv =+ _lhsIidenv+ -- copy rule (down)+ _selOffsetOlib =+ _lhsIlib+ ( _selSelectListIannotatedTree,_selSelectListIcidenv,_selSelectListIfixedUpIdentifiersTree,_selSelectListIlibUpdates,_selSelectListIlistType,_selSelectListIoriginalTree) =+ selSelectList_ _selSelectListOcat _selSelectListOidenv _selSelectListOlib + ( _selTrefIannotatedTree,_selTrefIfixedUpIdentifiersTree,_selTrefIlibUpdates,_selTrefInewLib2,_selTrefIoriginalTree,_selTrefItrefIDs) =+ selTref_ _selTrefOcat _selTrefOidenv _selTrefOlib + ( _selWhereIannotatedTree,_selWhereIfixedUpIdentifiersTree,_selWhereIoriginalTree) =+ selWhere_ _selWhereOcat _selWhereOidenv _selWhereOlib + ( _selGroupByIannotatedTree,_selGroupByIfixedUpIdentifiersTree,_selGroupByIoriginalTree,_selGroupByIuType) =+ selGroupBy_ _selGroupByOcat _selGroupByOexpectedTypes _selGroupByOidenv _selGroupByOlib + ( _selHavingIannotatedTree,_selHavingIfixedUpIdentifiersTree,_selHavingIoriginalTree) =+ selHaving_ _selHavingOcat _selHavingOidenv _selHavingOlib + ( _selOrderByIannotatedTree,_selOrderByIfixedUpIdentifiersTree,_selOrderByIoriginalTree) =+ selOrderBy_ _selOrderByOcat _selOrderByOidenv _selOrderByOlib + ( _selLimitIannotatedTree,_selLimitIfixedUpIdentifiersTree,_selLimitIoriginalTree,_selLimitIuType) =+ selLimit_ _selLimitOcat _selLimitOidenv _selLimitOlib + ( _selOffsetIannotatedTree,_selOffsetIfixedUpIdentifiersTree,_selOffsetIoriginalTree,_selOffsetIuType) =+ selOffset_ _selOffsetOcat _selOffsetOidenv _selOffsetOlib + in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree,_lhsOuType)))+sem_QueryExpr_Values :: Annotation ->+ T_ScalarExprListList ->+ T_QueryExpr +sem_QueryExpr_Values ann_ vll_ =+ (\ _lhsIcat+ _lhsIcsql+ _lhsIexpectedTypes+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOcidenv :: IDEnv+ _lhsOannotatedTree :: QueryExpr + _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: Et+ _lhsOuType :: (Maybe [(String,Type)])+ _vllOexpectedTypes :: ([Maybe Type])+ _lhsOfixedUpIdentifiersTree :: QueryExpr + _lhsOoriginalTree :: QueryExpr + _vllOcat :: Catalog+ _vllOidenv :: IDEnv+ _vllOlib :: LocalBindings+ _vllIannotatedTree :: ScalarExprListList + _vllIfixedUpIdentifiersTree :: ScalarExprListList + _vllIoriginalTree :: ScalarExprListList + _vllIuType :: ([[Maybe Type]])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 238, column 14)+ _lhsOcidenv =+ emptyIDEnv "values"+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 29, column 9)+ _lhsOannotatedTree =+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 141, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 150, column 9)+ _tpe =+ typeCheckValuesExpr+ _lhsIcat+ _vllIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 153, column 9)+ _backTree =+ Values ann_ _vllIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 185, column 9)+ _lhsOuType =+ etmt (_tpe >>= unwrapSetOfComposite)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 162, column 14)+ _vllOexpectedTypes =+ _lhsIexpectedTypes+ -- self rule+ _annotatedTree =+ Values ann_ _vllIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Values ann_ _vllIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Values ann_ _vllIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _vllOcat =+ _lhsIcat+ -- copy rule (down)+ _vllOidenv =+ _lhsIidenv+ -- copy rule (down)+ _vllOlib =+ _lhsIlib+ ( _vllIannotatedTree,_vllIfixedUpIdentifiersTree,_vllIoriginalTree,_vllIuType) =+ vll_ _vllOcat _vllOexpectedTypes _vllOidenv _vllOlib + in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree,_lhsOuType)))+sem_QueryExpr_WithQueryExpr :: Annotation ->+ T_WithQueryList ->+ T_QueryExpr ->+ T_QueryExpr +sem_QueryExpr_WithQueryExpr ann_ withs_ ex_ =+ (\ _lhsIcat+ _lhsIcsql+ _lhsIexpectedTypes+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOcidenv :: IDEnv+ _exOidenv :: IDEnv+ _lhsOannotatedTree :: QueryExpr + _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: Et+ _exOcat :: Catalog+ _withsOcatUpdates :: ([CatalogUpdate])+ _lhsOuType :: (Maybe [(String,Type)])+ _lhsOfixedUpIdentifiersTree :: QueryExpr + _lhsOoriginalTree :: QueryExpr + _withsOcat :: Catalog+ _withsOidenv :: IDEnv+ _withsOlib :: LocalBindings+ _exOcsql :: LocalBindings+ _exOexpectedTypes :: ([Maybe Type])+ _exOlib :: LocalBindings+ _withsIannotatedTree :: WithQueryList + _withsIcidenv :: IDEnv+ _withsIfixedUpIdentifiersTree :: WithQueryList + _withsIoriginalTree :: WithQueryList + _withsIproducedCat :: Catalog+ _exIannotatedTree :: QueryExpr + _exIcidenv :: IDEnv+ _exIfixedUpIdentifiersTree :: QueryExpr + _exIlibUpdates :: ([LocalBindingsUpdate])+ _exIoriginalTree :: QueryExpr + _exIuType :: (Maybe [(String,Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 239, column 21)+ _lhsOcidenv =+ _exIcidenv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 240, column 21)+ _exOidenv =+ _exIcidenv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 29, column 9)+ _lhsOannotatedTree =+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 145, column 9)+ _lhsOlibUpdates =+ _exIlibUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 178, column 9)+ _tpe =+ lmt ((SetOfType . CompositeType) <$> _exIuType)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 179, column 9)+ _backTree =+ WithQueryExpr ann_ _withsIannotatedTree _exIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 180, column 9)+ _exOcat =+ _withsIproducedCat+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 181, column 9)+ _withsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 185, column 9)+ _lhsOuType =+ etmt (_tpe >>= unwrapSetOfComposite)+ -- self rule+ _annotatedTree =+ WithQueryExpr ann_ _withsIannotatedTree _exIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ WithQueryExpr ann_ _withsIfixedUpIdentifiersTree _exIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ WithQueryExpr ann_ _withsIoriginalTree _exIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _withsOcat =+ _lhsIcat+ -- copy rule (down)+ _withsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _withsOlib =+ _lhsIlib+ -- copy rule (down)+ _exOcsql =+ _lhsIcsql+ -- copy rule (down)+ _exOexpectedTypes =+ _lhsIexpectedTypes+ -- copy rule (down)+ _exOlib =+ _lhsIlib+ ( _withsIannotatedTree,_withsIcidenv,_withsIfixedUpIdentifiersTree,_withsIoriginalTree,_withsIproducedCat) =+ withs_ _withsOcat _withsOcatUpdates _withsOidenv _withsOlib + ( _exIannotatedTree,_exIcidenv,_exIfixedUpIdentifiersTree,_exIlibUpdates,_exIoriginalTree,_exIuType) =+ ex_ _exOcat _exOcsql _exOexpectedTypes _exOidenv _exOlib + in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree,_lhsOuType)))+-- Root --------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + producedCat : Catalog+ producedLib : LocalBindings+ alternatives:+ alternative Root:+ child statements : StatementList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data Root = Root (StatementList ) + deriving ( Show)+-- cata+sem_Root :: Root ->+ T_Root +sem_Root (Root _statements ) =+ (sem_Root_Root (sem_StatementList _statements ) )+-- semantic domain+type T_Root = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( Root ,Root ,Root ,Catalog,LocalBindings)+data Inh_Root = Inh_Root {cat_Inh_Root :: Catalog,idenv_Inh_Root :: IDEnv,lib_Inh_Root :: LocalBindings}+data Syn_Root = Syn_Root {annotatedTree_Syn_Root :: Root ,fixedUpIdentifiersTree_Syn_Root :: Root ,originalTree_Syn_Root :: Root ,producedCat_Syn_Root :: Catalog,producedLib_Syn_Root :: LocalBindings}+wrap_Root :: T_Root ->+ Inh_Root ->+ Syn_Root +wrap_Root sem (Inh_Root _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat,_lhsOproducedLib) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_Root _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOproducedCat _lhsOproducedLib ))+sem_Root_Root :: T_StatementList ->+ T_Root +sem_Root_Root statements_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _statementsOcatUpdates :: ([CatalogUpdate])+ _statementsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Root + _lhsOfixedUpIdentifiersTree :: Root + _lhsOoriginalTree :: Root + _lhsOproducedCat :: Catalog+ _lhsOproducedLib :: LocalBindings+ _statementsOcat :: Catalog+ _statementsOidenv :: IDEnv+ _statementsOlib :: LocalBindings+ _statementsIannotatedTree :: StatementList + _statementsIfixedUpIdentifiersTree :: StatementList + _statementsIoriginalTree :: StatementList + _statementsIproducedCat :: Catalog+ _statementsIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 107, column 12)+ _statementsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 108, column 12)+ _statementsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ Root _statementsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Root _statementsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Root _statementsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (up)+ _lhsOproducedCat =+ _statementsIproducedCat+ -- copy rule (up)+ _lhsOproducedLib =+ _statementsIproducedLib+ -- copy rule (down)+ _statementsOcat =+ _lhsIcat+ -- copy rule (down)+ _statementsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _statementsOlib =+ _lhsIlib+ ( _statementsIannotatedTree,_statementsIfixedUpIdentifiersTree,_statementsIoriginalTree,_statementsIproducedCat,_statementsIproducedLib) =+ statements_ _statementsOcat _statementsOcatUpdates _statementsOidenv _statementsOlib _statementsOlibUpdates + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat,_lhsOproducedLib)))+-- RowConstraint -----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative NotNullConstraint:+ child ann : {Annotation}+ child name : {String}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative NullConstraint:+ child ann : {Annotation}+ child name : {String}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative RowCheckConstraint:+ child ann : {Annotation}+ child name : {String}+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative RowPrimaryKeyConstraint:+ child ann : {Annotation}+ child name : {String}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative RowReferenceConstraint:+ child ann : {Annotation}+ child name : {String}+ child table : Name + child att : {Maybe NameComponent}+ child onUpdate : {Cascade}+ child onDelete : {Cascade}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative RowUniqueConstraint:+ child ann : {Annotation}+ child name : {String}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data RowConstraint = NotNullConstraint (Annotation) (String) + | NullConstraint (Annotation) (String) + | RowCheckConstraint (Annotation) (String) (ScalarExpr ) + | RowPrimaryKeyConstraint (Annotation) (String) + | RowReferenceConstraint (Annotation) (String) (Name ) ((Maybe NameComponent)) (Cascade) (Cascade) + | RowUniqueConstraint (Annotation) (String) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_RowConstraint :: RowConstraint ->+ T_RowConstraint +sem_RowConstraint (NotNullConstraint _ann _name ) =+ (sem_RowConstraint_NotNullConstraint _ann _name )+sem_RowConstraint (NullConstraint _ann _name ) =+ (sem_RowConstraint_NullConstraint _ann _name )+sem_RowConstraint (RowCheckConstraint _ann _name _expr ) =+ (sem_RowConstraint_RowCheckConstraint _ann _name (sem_ScalarExpr _expr ) )+sem_RowConstraint (RowPrimaryKeyConstraint _ann _name ) =+ (sem_RowConstraint_RowPrimaryKeyConstraint _ann _name )+sem_RowConstraint (RowReferenceConstraint _ann _name _table _att _onUpdate _onDelete ) =+ (sem_RowConstraint_RowReferenceConstraint _ann _name (sem_Name _table ) _att _onUpdate _onDelete )+sem_RowConstraint (RowUniqueConstraint _ann _name ) =+ (sem_RowConstraint_RowUniqueConstraint _ann _name )+-- semantic domain+type T_RowConstraint = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( RowConstraint ,RowConstraint ,RowConstraint )+data Inh_RowConstraint = Inh_RowConstraint {cat_Inh_RowConstraint :: Catalog,idenv_Inh_RowConstraint :: IDEnv,lib_Inh_RowConstraint :: LocalBindings}+data Syn_RowConstraint = Syn_RowConstraint {annotatedTree_Syn_RowConstraint :: RowConstraint ,fixedUpIdentifiersTree_Syn_RowConstraint :: RowConstraint ,originalTree_Syn_RowConstraint :: RowConstraint }+wrap_RowConstraint :: T_RowConstraint ->+ Inh_RowConstraint ->+ Syn_RowConstraint +wrap_RowConstraint sem (Inh_RowConstraint _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_RowConstraint _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_RowConstraint_NotNullConstraint :: Annotation ->+ String ->+ T_RowConstraint +sem_RowConstraint_NotNullConstraint ann_ name_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: RowConstraint + _lhsOfixedUpIdentifiersTree :: RowConstraint + _lhsOoriginalTree :: RowConstraint + -- self rule+ _annotatedTree =+ NotNullConstraint ann_ name_+ -- self rule+ _fixedUpIdentifiersTree =+ NotNullConstraint ann_ name_+ -- self rule+ _originalTree =+ NotNullConstraint ann_ name_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_RowConstraint_NullConstraint :: Annotation ->+ String ->+ T_RowConstraint +sem_RowConstraint_NullConstraint ann_ name_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: RowConstraint + _lhsOfixedUpIdentifiersTree :: RowConstraint + _lhsOoriginalTree :: RowConstraint + -- self rule+ _annotatedTree =+ NullConstraint ann_ name_+ -- self rule+ _fixedUpIdentifiersTree =+ NullConstraint ann_ name_+ -- self rule+ _originalTree =+ NullConstraint ann_ name_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_RowConstraint_RowCheckConstraint :: Annotation ->+ String ->+ T_ScalarExpr ->+ T_RowConstraint +sem_RowConstraint_RowCheckConstraint ann_ name_ expr_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _exprOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: RowConstraint + _lhsOfixedUpIdentifiersTree :: RowConstraint + _lhsOoriginalTree :: RowConstraint + _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _exprIannotatedTree :: ScalarExpr + _exprIfixedUpIdentifiersTree :: ScalarExpr + _exprIoriginalTree :: ScalarExpr + _exprIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 103, column 26)+ _exprOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ RowCheckConstraint ann_ name_ _exprIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ RowCheckConstraint ann_ name_ _exprIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ RowCheckConstraint ann_ name_ _exprIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_RowConstraint_RowPrimaryKeyConstraint :: Annotation ->+ String ->+ T_RowConstraint +sem_RowConstraint_RowPrimaryKeyConstraint ann_ name_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: RowConstraint + _lhsOfixedUpIdentifiersTree :: RowConstraint + _lhsOoriginalTree :: RowConstraint + -- self rule+ _annotatedTree =+ RowPrimaryKeyConstraint ann_ name_+ -- self rule+ _fixedUpIdentifiersTree =+ RowPrimaryKeyConstraint ann_ name_+ -- self rule+ _originalTree =+ RowPrimaryKeyConstraint ann_ name_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_RowConstraint_RowReferenceConstraint :: Annotation ->+ String ->+ T_Name ->+ (Maybe NameComponent) ->+ Cascade ->+ Cascade ->+ T_RowConstraint +sem_RowConstraint_RowReferenceConstraint ann_ name_ table_ att_ onUpdate_ onDelete_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: RowConstraint + _lhsOfixedUpIdentifiersTree :: RowConstraint + _lhsOoriginalTree :: RowConstraint + _tableOcat :: Catalog+ _tableOidenv :: IDEnv+ _tableOlib :: LocalBindings+ _tableIannotatedTree :: Name + _tableIfixedUpIdentifiersTree :: Name + _tableIoriginalTree :: Name + _tableItbAnnotatedTree :: Name + _tableItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ -- self rule+ _annotatedTree =+ RowReferenceConstraint ann_ name_ _tableIannotatedTree att_ onUpdate_ onDelete_+ -- self rule+ _fixedUpIdentifiersTree =+ RowReferenceConstraint ann_ name_ _tableIfixedUpIdentifiersTree att_ onUpdate_ onDelete_+ -- self rule+ _originalTree =+ RowReferenceConstraint ann_ name_ _tableIoriginalTree att_ onUpdate_ onDelete_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _tableOcat =+ _lhsIcat+ -- copy rule (down)+ _tableOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tableOlib =+ _lhsIlib+ ( _tableIannotatedTree,_tableIfixedUpIdentifiersTree,_tableIoriginalTree,_tableItbAnnotatedTree,_tableItbUType) =+ table_ _tableOcat _tableOidenv _tableOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_RowConstraint_RowUniqueConstraint :: Annotation ->+ String ->+ T_RowConstraint +sem_RowConstraint_RowUniqueConstraint ann_ name_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: RowConstraint + _lhsOfixedUpIdentifiersTree :: RowConstraint + _lhsOoriginalTree :: RowConstraint + -- self rule+ _annotatedTree =+ RowUniqueConstraint ann_ name_+ -- self rule+ _fixedUpIdentifiersTree =+ RowUniqueConstraint ann_ name_+ -- self rule+ _originalTree =+ RowUniqueConstraint ann_ name_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- RowConstraintList -------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Cons:+ child hd : RowConstraint + child tl : RowConstraintList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type RowConstraintList = [RowConstraint ]+-- cata+sem_RowConstraintList :: RowConstraintList ->+ T_RowConstraintList +sem_RowConstraintList list =+ (Prelude.foldr sem_RowConstraintList_Cons sem_RowConstraintList_Nil (Prelude.map sem_RowConstraint list) )+-- semantic domain+type T_RowConstraintList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( RowConstraintList ,RowConstraintList ,RowConstraintList )+data Inh_RowConstraintList = Inh_RowConstraintList {cat_Inh_RowConstraintList :: Catalog,idenv_Inh_RowConstraintList :: IDEnv,lib_Inh_RowConstraintList :: LocalBindings}+data Syn_RowConstraintList = Syn_RowConstraintList {annotatedTree_Syn_RowConstraintList :: RowConstraintList ,fixedUpIdentifiersTree_Syn_RowConstraintList :: RowConstraintList ,originalTree_Syn_RowConstraintList :: RowConstraintList }+wrap_RowConstraintList :: T_RowConstraintList ->+ Inh_RowConstraintList ->+ Syn_RowConstraintList +wrap_RowConstraintList sem (Inh_RowConstraintList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_RowConstraintList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_RowConstraintList_Cons :: T_RowConstraint ->+ T_RowConstraintList ->+ T_RowConstraintList +sem_RowConstraintList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: RowConstraintList + _lhsOfixedUpIdentifiersTree :: RowConstraintList + _lhsOoriginalTree :: RowConstraintList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: RowConstraint + _hdIfixedUpIdentifiersTree :: RowConstraint + _hdIoriginalTree :: RowConstraint + _tlIannotatedTree :: RowConstraintList + _tlIfixedUpIdentifiersTree :: RowConstraintList + _tlIoriginalTree :: RowConstraintList + -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_RowConstraintList_Nil :: T_RowConstraintList +sem_RowConstraintList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: RowConstraintList + _lhsOfixedUpIdentifiersTree :: RowConstraintList + _lhsOoriginalTree :: RowConstraintList + -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- ScalarExpr --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ expectedType : Maybe Type+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + uType : Maybe Type+ alternatives:+ alternative AggregateFn:+ child ann : {Annotation}+ child aggDistinct : {Distinct}+ child fn : ScalarExpr + child orderBy : ScalarExprDirectionPairList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative AntiScalarExpr:+ child string : {String}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative BooleanLit:+ child ann : {Annotation}+ child b : {Bool}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Case:+ child ann : {Annotation}+ child cases : CaseScalarExprListScalarExprPairList + child els : MaybeScalarExpr + visit 0:+ local prototype : {Maybe FunctionPrototype}+ local whenTypes : _+ local thenTypes : _+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CaseSimple:+ child ann : {Annotation}+ child value : ScalarExpr + child cases : CaseScalarExprListScalarExprPairList + child els : MaybeScalarExpr + visit 0:+ local prototype : {Maybe FunctionPrototype}+ local whenTypes : _+ local thenTypes : _+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Cast:+ child ann : {Annotation}+ child expr : ScalarExpr + child tn : TypeName + visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Exists:+ child ann : {Annotation}+ child sel : QueryExpr + visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Extract:+ child ann : {Annotation}+ child field : {ExtractField}+ child e : ScalarExpr + visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative FunCall:+ child ann : {Annotation}+ child funName : Name + child args : ScalarExprList + visit 0:+ local _tup1 : _+ local tpe : {Et}+ local prototype : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Identifier:+ child ann : {Annotation}+ child i : {NameComponent}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative InPredicate:+ child ann : {Annotation}+ child expr : ScalarExpr + child i : {Bool}+ child list : InList + visit 0:+ local prototype : {Maybe FunctionPrototype}+ local rt : {Either [TypeError] Type}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Interval:+ child ann : {Annotation}+ child value : {String}+ child field : {IntervalField}+ child prec : {Maybe Int}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative LiftOperator:+ child ann : {Annotation}+ child oper : {String}+ child flav : {LiftFlavour}+ child args : ScalarExprList + visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative NullLit:+ child ann : {Annotation}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative NumberLit:+ child ann : {Annotation}+ child d : {String}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Placeholder:+ child ann : {Annotation}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative PositionalArg:+ child ann : {Annotation}+ child p : {Integer}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative QIdentifier:+ child ann : {Annotation}+ child is : {[NameComponent]}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative QStar:+ child ann : {Annotation}+ child q : {NameComponent}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative ScalarSubQuery:+ child ann : {Annotation}+ child sel : QueryExpr + visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Star:+ child ann : {Annotation}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative StringLit:+ child ann : {Annotation}+ child value : {String}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative TypedStringLit:+ child ann : {Annotation}+ child tn : TypeName + child value : {String}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative WindowFn:+ child ann : {Annotation}+ child fn : ScalarExpr + child partitionBy : ScalarExprList + child orderBy : ScalarExprDirectionPairList + child frm : {FrameClause}+ visit 0:+ local prototype : {Maybe FunctionPrototype}+ local tpe : {Et}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data ScalarExpr = AggregateFn (Annotation) (Distinct) (ScalarExpr ) (ScalarExprDirectionPairList ) + | AntiScalarExpr (String) + | BooleanLit (Annotation) (Bool) + | Case (Annotation) (CaseScalarExprListScalarExprPairList ) (MaybeScalarExpr ) + | CaseSimple (Annotation) (ScalarExpr ) (CaseScalarExprListScalarExprPairList ) (MaybeScalarExpr ) + | Cast (Annotation) (ScalarExpr ) (TypeName ) + | Exists (Annotation) (QueryExpr ) + | Extract (Annotation) (ExtractField) (ScalarExpr ) + | FunCall (Annotation) (Name ) (ScalarExprList ) + | Identifier (Annotation) (NameComponent) + | InPredicate (Annotation) (ScalarExpr ) (Bool) (InList ) + | Interval (Annotation) (String) (IntervalField) ((Maybe Int)) + | LiftOperator (Annotation) (String) (LiftFlavour) (ScalarExprList ) + | NullLit (Annotation) + | NumberLit (Annotation) (String) + | Placeholder (Annotation) + | PositionalArg (Annotation) (Integer) + | QIdentifier (Annotation) (([NameComponent])) + | QStar (Annotation) (NameComponent) + | ScalarSubQuery (Annotation) (QueryExpr ) + | Star (Annotation) + | StringLit (Annotation) (String) + | TypedStringLit (Annotation) (TypeName ) (String) + | WindowFn (Annotation) (ScalarExpr ) (ScalarExprList ) (ScalarExprDirectionPairList ) (FrameClause) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_ScalarExpr :: ScalarExpr ->+ T_ScalarExpr +sem_ScalarExpr (AggregateFn _ann _aggDistinct _fn _orderBy ) =+ (sem_ScalarExpr_AggregateFn _ann _aggDistinct (sem_ScalarExpr _fn ) (sem_ScalarExprDirectionPairList _orderBy ) )+sem_ScalarExpr (AntiScalarExpr _string ) =+ (sem_ScalarExpr_AntiScalarExpr _string )+sem_ScalarExpr (BooleanLit _ann _b ) =+ (sem_ScalarExpr_BooleanLit _ann _b )+sem_ScalarExpr (Case _ann _cases _els ) =+ (sem_ScalarExpr_Case _ann (sem_CaseScalarExprListScalarExprPairList _cases ) (sem_MaybeScalarExpr _els ) )+sem_ScalarExpr (CaseSimple _ann _value _cases _els ) =+ (sem_ScalarExpr_CaseSimple _ann (sem_ScalarExpr _value ) (sem_CaseScalarExprListScalarExprPairList _cases ) (sem_MaybeScalarExpr _els ) )+sem_ScalarExpr (Cast _ann _expr _tn ) =+ (sem_ScalarExpr_Cast _ann (sem_ScalarExpr _expr ) (sem_TypeName _tn ) )+sem_ScalarExpr (Exists _ann _sel ) =+ (sem_ScalarExpr_Exists _ann (sem_QueryExpr _sel ) )+sem_ScalarExpr (Extract _ann _field _e ) =+ (sem_ScalarExpr_Extract _ann _field (sem_ScalarExpr _e ) )+sem_ScalarExpr (FunCall _ann _funName _args ) =+ (sem_ScalarExpr_FunCall _ann (sem_Name _funName ) (sem_ScalarExprList _args ) )+sem_ScalarExpr (Identifier _ann _i ) =+ (sem_ScalarExpr_Identifier _ann _i )+sem_ScalarExpr (InPredicate _ann _expr _i _list ) =+ (sem_ScalarExpr_InPredicate _ann (sem_ScalarExpr _expr ) _i (sem_InList _list ) )+sem_ScalarExpr (Interval _ann _value _field _prec ) =+ (sem_ScalarExpr_Interval _ann _value _field _prec )+sem_ScalarExpr (LiftOperator _ann _oper _flav _args ) =+ (sem_ScalarExpr_LiftOperator _ann _oper _flav (sem_ScalarExprList _args ) )+sem_ScalarExpr (NullLit _ann ) =+ (sem_ScalarExpr_NullLit _ann )+sem_ScalarExpr (NumberLit _ann _d ) =+ (sem_ScalarExpr_NumberLit _ann _d )+sem_ScalarExpr (Placeholder _ann ) =+ (sem_ScalarExpr_Placeholder _ann )+sem_ScalarExpr (PositionalArg _ann _p ) =+ (sem_ScalarExpr_PositionalArg _ann _p )+sem_ScalarExpr (QIdentifier _ann _is ) =+ (sem_ScalarExpr_QIdentifier _ann _is )+sem_ScalarExpr (QStar _ann _q ) =+ (sem_ScalarExpr_QStar _ann _q )+sem_ScalarExpr (ScalarSubQuery _ann _sel ) =+ (sem_ScalarExpr_ScalarSubQuery _ann (sem_QueryExpr _sel ) )+sem_ScalarExpr (Star _ann ) =+ (sem_ScalarExpr_Star _ann )+sem_ScalarExpr (StringLit _ann _value ) =+ (sem_ScalarExpr_StringLit _ann _value )+sem_ScalarExpr (TypedStringLit _ann _tn _value ) =+ (sem_ScalarExpr_TypedStringLit _ann (sem_TypeName _tn ) _value )+sem_ScalarExpr (WindowFn _ann _fn _partitionBy _orderBy _frm ) =+ (sem_ScalarExpr_WindowFn _ann (sem_ScalarExpr _fn ) (sem_ScalarExprList _partitionBy ) (sem_ScalarExprDirectionPairList _orderBy ) _frm )+-- semantic domain+type T_ScalarExpr = Catalog ->+ (Maybe Type) ->+ IDEnv ->+ LocalBindings ->+ ( ScalarExpr ,ScalarExpr ,ScalarExpr ,(Maybe Type))+data Inh_ScalarExpr = Inh_ScalarExpr {cat_Inh_ScalarExpr :: Catalog,expectedType_Inh_ScalarExpr :: (Maybe Type),idenv_Inh_ScalarExpr :: IDEnv,lib_Inh_ScalarExpr :: LocalBindings}+data Syn_ScalarExpr = Syn_ScalarExpr {annotatedTree_Syn_ScalarExpr :: ScalarExpr ,fixedUpIdentifiersTree_Syn_ScalarExpr :: ScalarExpr ,originalTree_Syn_ScalarExpr :: ScalarExpr ,uType_Syn_ScalarExpr :: (Maybe Type)}+wrap_ScalarExpr :: T_ScalarExpr ->+ Inh_ScalarExpr ->+ Syn_ScalarExpr +wrap_ScalarExpr sem (Inh_ScalarExpr _lhsIcat _lhsIexpectedType _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType) = sem _lhsIcat _lhsIexpectedType _lhsIidenv _lhsIlib + in (Syn_ScalarExpr _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOuType ))+sem_ScalarExpr_AggregateFn :: Annotation ->+ Distinct ->+ T_ScalarExpr ->+ T_ScalarExprDirectionPairList ->+ T_ScalarExpr +sem_ScalarExpr_AggregateFn ann_ aggDistinct_ fn_ orderBy_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _lhsOuType :: (Maybe Type)+ _fnOcat :: Catalog+ _fnOexpectedType :: (Maybe Type)+ _fnOidenv :: IDEnv+ _fnOlib :: LocalBindings+ _orderByOcat :: Catalog+ _orderByOidenv :: IDEnv+ _orderByOlib :: LocalBindings+ _fnIannotatedTree :: ScalarExpr + _fnIfixedUpIdentifiersTree :: ScalarExpr + _fnIoriginalTree :: ScalarExpr + _fnIuType :: (Maybe Type)+ _orderByIannotatedTree :: ScalarExprDirectionPairList + _orderByIfixedUpIdentifiersTree :: ScalarExprDirectionPairList + _orderByIoriginalTree :: ScalarExprDirectionPairList + -- self rule+ _annotatedTree =+ AggregateFn ann_ aggDistinct_ _fnIannotatedTree _orderByIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ AggregateFn ann_ aggDistinct_ _fnIfixedUpIdentifiersTree _orderByIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ AggregateFn ann_ aggDistinct_ _fnIoriginalTree _orderByIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (up)+ _lhsOuType =+ _fnIuType+ -- copy rule (down)+ _fnOcat =+ _lhsIcat+ -- copy rule (down)+ _fnOexpectedType =+ _lhsIexpectedType+ -- copy rule (down)+ _fnOidenv =+ _lhsIidenv+ -- copy rule (down)+ _fnOlib =+ _lhsIlib+ -- copy rule (down)+ _orderByOcat =+ _lhsIcat+ -- copy rule (down)+ _orderByOidenv =+ _lhsIidenv+ -- copy rule (down)+ _orderByOlib =+ _lhsIlib+ ( _fnIannotatedTree,_fnIfixedUpIdentifiersTree,_fnIoriginalTree,_fnIuType) =+ fn_ _fnOcat _fnOexpectedType _fnOidenv _fnOlib + ( _orderByIannotatedTree,_orderByIfixedUpIdentifiersTree,_orderByIoriginalTree) =+ orderBy_ _orderByOcat _orderByOidenv _orderByOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_AntiScalarExpr :: String ->+ T_ScalarExpr +sem_ScalarExpr_AntiScalarExpr string_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOuType :: (Maybe Type)+ _lhsOannotatedTree :: ScalarExpr + _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 108, column 9)+ _lhsOuType =+ Nothing+ -- self rule+ _annotatedTree =+ AntiScalarExpr string_+ -- self rule+ _fixedUpIdentifiersTree =+ AntiScalarExpr string_+ -- self rule+ _originalTree =+ AntiScalarExpr string_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_BooleanLit :: Annotation ->+ Bool ->+ T_ScalarExpr +sem_ScalarExpr_BooleanLit ann_ b_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 162, column 19)+ _tpe =+ Right typeBool+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 172, column 9)+ _backTree =+ BooleanLit ann_ b_+ -- self rule+ _annotatedTree =+ BooleanLit ann_ b_+ -- self rule+ _fixedUpIdentifiersTree =+ BooleanLit ann_ b_+ -- self rule+ _originalTree =+ BooleanLit ann_ b_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_Case :: Annotation ->+ T_CaseScalarExprListScalarExprPairList ->+ T_MaybeScalarExpr ->+ T_ScalarExpr +sem_ScalarExpr_Case ann_ cases_ els_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _casesOcat :: Catalog+ _casesOidenv :: IDEnv+ _casesOlib :: LocalBindings+ _elsOcat :: Catalog+ _elsOidenv :: IDEnv+ _elsOlib :: LocalBindings+ _casesIannotatedTree :: CaseScalarExprListScalarExprPairList + _casesIfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPairList + _casesIoriginalTree :: CaseScalarExprListScalarExprPairList + _casesIthenTypes :: ([Maybe Type])+ _casesIwhenTypes :: ([[Maybe Type]])+ _elsIannotatedTree :: MaybeScalarExpr + _elsIfixedUpIdentifiersTree :: MaybeScalarExpr + _elsIoriginalTree :: MaybeScalarExpr + _elsIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 282, column 9)+ _whenTypes =+ _casesIwhenTypes+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 283, column 9)+ _thenTypes =+ _casesIthenTypes ++ maybe [] ((:[]) . Just) _elsIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 287, column 9)+ _tpe =+ do+ wt <- mapM lmt $ concat _whenTypes+ errorWhen (any (/= typeBool) wt)+ [WrongTypes typeBool wt]+ tt <- mapM lmt _thenTypes+ resolveResultSetType _lhsIcat tt+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 295, column 9)+ _backTree =+ Case ann_ _casesIannotatedTree _elsIannotatedTree+ -- self rule+ _annotatedTree =+ Case ann_ _casesIannotatedTree _elsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Case ann_ _casesIfixedUpIdentifiersTree _elsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Case ann_ _casesIoriginalTree _elsIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _casesOcat =+ _lhsIcat+ -- copy rule (down)+ _casesOidenv =+ _lhsIidenv+ -- copy rule (down)+ _casesOlib =+ _lhsIlib+ -- copy rule (down)+ _elsOcat =+ _lhsIcat+ -- copy rule (down)+ _elsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _elsOlib =+ _lhsIlib+ ( _casesIannotatedTree,_casesIfixedUpIdentifiersTree,_casesIoriginalTree,_casesIthenTypes,_casesIwhenTypes) =+ cases_ _casesOcat _casesOidenv _casesOlib + ( _elsIannotatedTree,_elsIfixedUpIdentifiersTree,_elsIoriginalTree,_elsIuType) =+ els_ _elsOcat _elsOidenv _elsOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_CaseSimple :: Annotation ->+ T_ScalarExpr ->+ T_CaseScalarExprListScalarExprPairList ->+ T_MaybeScalarExpr ->+ T_ScalarExpr +sem_ScalarExpr_CaseSimple ann_ value_ cases_ els_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _valueOcat :: Catalog+ _valueOexpectedType :: (Maybe Type)+ _valueOidenv :: IDEnv+ _valueOlib :: LocalBindings+ _casesOcat :: Catalog+ _casesOidenv :: IDEnv+ _casesOlib :: LocalBindings+ _elsOcat :: Catalog+ _elsOidenv :: IDEnv+ _elsOlib :: LocalBindings+ _valueIannotatedTree :: ScalarExpr + _valueIfixedUpIdentifiersTree :: ScalarExpr + _valueIoriginalTree :: ScalarExpr + _valueIuType :: (Maybe Type)+ _casesIannotatedTree :: CaseScalarExprListScalarExprPairList + _casesIfixedUpIdentifiersTree :: CaseScalarExprListScalarExprPairList + _casesIoriginalTree :: CaseScalarExprListScalarExprPairList + _casesIthenTypes :: ([Maybe Type])+ _casesIwhenTypes :: ([[Maybe Type]])+ _elsIannotatedTree :: MaybeScalarExpr + _elsIfixedUpIdentifiersTree :: MaybeScalarExpr + _elsIoriginalTree :: MaybeScalarExpr + _elsIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 282, column 9)+ _whenTypes =+ _casesIwhenTypes+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 283, column 9)+ _thenTypes =+ _casesIthenTypes ++ maybe [] ((:[]) . Just) _elsIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 300, column 9)+ _tpe =+ do+ wt <- mapM lmt $ concat _whenTypes+ vt <- lmt _valueIuType+ _ <- resolveResultSetType _lhsIcat (vt : wt)+ tt <- mapM lmt _thenTypes+ resolveResultSetType _lhsIcat tt+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 307, column 9)+ _backTree =+ CaseSimple ann_+ _valueIannotatedTree+ _casesIannotatedTree+ _elsIannotatedTree+ -- self rule+ _annotatedTree =+ CaseSimple ann_ _valueIannotatedTree _casesIannotatedTree _elsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CaseSimple ann_ _valueIfixedUpIdentifiersTree _casesIfixedUpIdentifiersTree _elsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CaseSimple ann_ _valueIoriginalTree _casesIoriginalTree _elsIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _valueOcat =+ _lhsIcat+ -- copy rule (down)+ _valueOexpectedType =+ _lhsIexpectedType+ -- copy rule (down)+ _valueOidenv =+ _lhsIidenv+ -- copy rule (down)+ _valueOlib =+ _lhsIlib+ -- copy rule (down)+ _casesOcat =+ _lhsIcat+ -- copy rule (down)+ _casesOidenv =+ _lhsIidenv+ -- copy rule (down)+ _casesOlib =+ _lhsIlib+ -- copy rule (down)+ _elsOcat =+ _lhsIcat+ -- copy rule (down)+ _elsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _elsOlib =+ _lhsIlib+ ( _valueIannotatedTree,_valueIfixedUpIdentifiersTree,_valueIoriginalTree,_valueIuType) =+ value_ _valueOcat _valueOexpectedType _valueOidenv _valueOlib + ( _casesIannotatedTree,_casesIfixedUpIdentifiersTree,_casesIoriginalTree,_casesIthenTypes,_casesIwhenTypes) =+ cases_ _casesOcat _casesOidenv _casesOlib + ( _elsIannotatedTree,_elsIfixedUpIdentifiersTree,_elsIoriginalTree,_elsIuType) =+ els_ _elsOcat _elsOidenv _elsOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_Cast :: Annotation ->+ T_ScalarExpr ->+ T_TypeName ->+ T_ScalarExpr +sem_ScalarExpr_Cast ann_ expr_ tn_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _exprOcat :: Catalog+ _exprOexpectedType :: (Maybe Type)+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _tnOcat :: Catalog+ _tnOidenv :: IDEnv+ _tnOlib :: LocalBindings+ _exprIannotatedTree :: ScalarExpr + _exprIfixedUpIdentifiersTree :: ScalarExpr + _exprIoriginalTree :: ScalarExpr + _exprIuType :: (Maybe Type)+ _tnIannotatedTree :: TypeName + _tnIfixedUpIdentifiersTree :: TypeName + _tnInamedType :: (Maybe Type)+ _tnIoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 189, column 12)+ _tpe =+ lmt _tnInamedType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 190, column 12)+ _backTree =+ Cast ann_ _exprIannotatedTree _tnIannotatedTree+ -- self rule+ _annotatedTree =+ Cast ann_ _exprIannotatedTree _tnIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Cast ann_ _exprIfixedUpIdentifiersTree _tnIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Cast ann_ _exprIoriginalTree _tnIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOexpectedType =+ _lhsIexpectedType+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ -- copy rule (down)+ _tnOcat =+ _lhsIcat+ -- copy rule (down)+ _tnOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tnOlib =+ _lhsIlib+ ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib + ( _tnIannotatedTree,_tnIfixedUpIdentifiersTree,_tnInamedType,_tnIoriginalTree) =+ tn_ _tnOcat _tnOidenv _tnOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_Exists :: Annotation ->+ T_QueryExpr ->+ T_ScalarExpr +sem_ScalarExpr_Exists ann_ sel_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _selOcsql :: LocalBindings+ _selOexpectedTypes :: ([Maybe Type])+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _selOcat :: Catalog+ _selOidenv :: IDEnv+ _selOlib :: LocalBindings+ _selIannotatedTree :: QueryExpr + _selIcidenv :: IDEnv+ _selIfixedUpIdentifiersTree :: QueryExpr + _selIlibUpdates :: ([LocalBindingsUpdate])+ _selIoriginalTree :: QueryExpr + _selIuType :: (Maybe [(String,Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 366, column 9)+ _tpe =+ Right typeBool+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 367, column 9)+ _backTree =+ Exists ann_ _selIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 390, column 9)+ _selOcsql =+ _lhsIlib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 169, column 29)+ _selOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ Exists ann_ _selIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Exists ann_ _selIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Exists ann_ _selIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _selOcat =+ _lhsIcat+ -- copy rule (down)+ _selOidenv =+ _lhsIidenv+ -- copy rule (down)+ _selOlib =+ _lhsIlib+ ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =+ sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_Extract :: Annotation ->+ ExtractField ->+ T_ScalarExpr ->+ T_ScalarExpr +sem_ScalarExpr_Extract ann_ field_ e_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _eOcat :: Catalog+ _eOexpectedType :: (Maybe Type)+ _eOidenv :: IDEnv+ _eOlib :: LocalBindings+ _eIannotatedTree :: ScalarExpr + _eIfixedUpIdentifiersTree :: ScalarExpr + _eIoriginalTree :: ScalarExpr + _eIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 435, column 9)+ _tpe =+ do+ x <- lmt _eIuType+ if x == typeDate+ then Right typeFloat8+ else Left [NoMatchingOperator "extract" [x]]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 440, column 9)+ _backTree =+ Extract ann_ field_ _eIannotatedTree+ -- self rule+ _annotatedTree =+ Extract ann_ field_ _eIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Extract ann_ field_ _eIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Extract ann_ field_ _eIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _eOcat =+ _lhsIcat+ -- copy rule (down)+ _eOexpectedType =+ _lhsIexpectedType+ -- copy rule (down)+ _eOidenv =+ _lhsIidenv+ -- copy rule (down)+ _eOlib =+ _lhsIlib+ ( _eIannotatedTree,_eIfixedUpIdentifiersTree,_eIoriginalTree,_eIuType) =+ e_ _eOcat _eOexpectedType _eOidenv _eOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_FunCall :: Annotation ->+ T_Name ->+ T_ScalarExprList ->+ T_ScalarExpr +sem_ScalarExpr_FunCall ann_ funName_ args_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _argsOexpectedTypes :: ([Maybe Type])+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _funNameOcat :: Catalog+ _funNameOidenv :: IDEnv+ _funNameOlib :: LocalBindings+ _argsOcat :: Catalog+ _argsOidenv :: IDEnv+ _argsOlib :: LocalBindings+ _funNameIannotatedTree :: Name + _funNameIfixedUpIdentifiersTree :: Name + _funNameIoriginalTree :: Name + _funNameItbAnnotatedTree :: Name + _funNameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _argsIannotatedTree :: ScalarExprList + _argsIfixedUpIdentifiersTree :: ScalarExprList + _argsIoriginalTree :: ScalarExprList + _argsIuType :: ([Maybe Type])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 203, column 9)+ __tup1 =+ either (\e -> (Left e, Nothing)) id $ do+ args <- mapM lmt _argsIuType+ efp <- findCallMatch _lhsIcat+ (getTName _funNameIoriginalTree)+ args+ let (_,_,r,_) = efp+ return (Right r, Just efp)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 203, column 9)+ (_tpe,_) =+ __tup1+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 203, column 9)+ (_,_prototype) =+ __tup1+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 213, column 9)+ _backTree =+ FunCall ann_ _funNameIoriginalTree _argsIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 127, column 9)+ _argsOexpectedTypes =+ maybe [] id $+ case (getTName _funNameIoriginalTree,_lhsIexpectedType) of+ ("!rowctor", Just (AnonymousRecordType ts)) -> return $ map Just ts+ _ -> do+ (_,t,_,_) <- _prototype+ return $ map Just t+ -- self rule+ _annotatedTree =+ FunCall ann_ _funNameIannotatedTree _argsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ FunCall ann_ _funNameIfixedUpIdentifiersTree _argsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ FunCall ann_ _funNameIoriginalTree _argsIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _funNameOcat =+ _lhsIcat+ -- copy rule (down)+ _funNameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _funNameOlib =+ _lhsIlib+ -- copy rule (down)+ _argsOcat =+ _lhsIcat+ -- copy rule (down)+ _argsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _argsOlib =+ _lhsIlib+ ( _funNameIannotatedTree,_funNameIfixedUpIdentifiersTree,_funNameIoriginalTree,_funNameItbAnnotatedTree,_funNameItbUType) =+ funName_ _funNameOcat _funNameOidenv _funNameOlib + ( _argsIannotatedTree,_argsIfixedUpIdentifiersTree,_argsIoriginalTree,_argsIuType) =+ args_ _argsOcat _argsOexpectedTypes _argsOidenv _argsOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_Identifier :: Annotation ->+ NameComponent ->+ T_ScalarExpr +sem_ScalarExpr_Identifier ann_ i_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 128, column 9)+ _lhsOfixedUpIdentifiersTree =+ case qualifyID _lhsIidenv (ncStr i_) of+ Nothing -> Identifier ann_ i_+ Just (t,i) -> QIdentifier ann_ [Nmc t, Nmc i]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 320, column 9)+ _tpe =+ case lookupLocalBinding _lhsIlib "" (ncStr i_) of+ Right Nothing -> Left []+ Right (Just t) -> Right t+ Left e -> Left e+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 325, column 9)+ _backTree =+ Identifier ann_ i_+ -- self rule+ _annotatedTree =+ Identifier ann_ i_+ -- self rule+ _fixedUpIdentifiersTree =+ Identifier ann_ i_+ -- self rule+ _originalTree =+ Identifier ann_ i_+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_InPredicate :: Annotation ->+ T_ScalarExpr ->+ Bool ->+ T_InList ->+ T_ScalarExpr +sem_ScalarExpr_InPredicate ann_ expr_ i_ list_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _rt :: (Either [TypeError] Type)+ _tpe :: Et+ _listOexpectedType :: (Maybe Type)+ _exprOexpectedType :: (Maybe Type)+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _listOcat :: Catalog+ _listOidenv :: IDEnv+ _listOlib :: LocalBindings+ _exprIannotatedTree :: ScalarExpr + _exprIfixedUpIdentifiersTree :: ScalarExpr + _exprIoriginalTree :: ScalarExpr + _exprIuType :: (Maybe Type)+ _listIannotatedTree :: InList + _listIfixedUpIdentifiersTree :: InList + _listIlistType :: (Either [TypeError] Type)+ _listIoriginalTree :: InList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 399, column 9)+ _rt =+ do+ lt <- _listIlistType+ expt <- lmt _exprIuType+ resolveResultSetType _lhsIcat [expt, lt]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 403, column 9)+ _tpe =+ do+ _ <- _rt+ return typeBool+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 406, column 9)+ _listOexpectedType =+ etmt _rt+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 407, column 9)+ _exprOexpectedType =+ etmt _rt+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 408, column 9)+ _backTree =+ InPredicate ann_+ _exprIannotatedTree+ i_+ _listIannotatedTree+ -- self rule+ _annotatedTree =+ InPredicate ann_ _exprIannotatedTree i_ _listIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ InPredicate ann_ _exprIfixedUpIdentifiersTree i_ _listIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ InPredicate ann_ _exprIoriginalTree i_ _listIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ -- copy rule (down)+ _listOcat =+ _lhsIcat+ -- copy rule (down)+ _listOidenv =+ _lhsIidenv+ -- copy rule (down)+ _listOlib =+ _lhsIlib+ ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib + ( _listIannotatedTree,_listIfixedUpIdentifiersTree,_listIlistType,_listIoriginalTree) =+ list_ _listOcat _listOexpectedType _listOidenv _listOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_Interval :: Annotation ->+ String ->+ IntervalField ->+ (Maybe Int) ->+ T_ScalarExpr +sem_ScalarExpr_Interval ann_ value_ field_ prec_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 177, column 16)+ _tpe =+ Right $ ScalarType "interval"+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 178, column 16)+ _backTree =+ Interval ann_ value_ field_ prec_+ -- self rule+ _annotatedTree =+ Interval ann_ value_ field_ prec_+ -- self rule+ _fixedUpIdentifiersTree =+ Interval ann_ value_ field_ prec_+ -- self rule+ _originalTree =+ Interval ann_ value_ field_ prec_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_LiftOperator :: Annotation ->+ String ->+ LiftFlavour ->+ T_ScalarExprList ->+ T_ScalarExpr +sem_ScalarExpr_LiftOperator ann_ oper_ flav_ args_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _argsOexpectedTypes :: ([Maybe Type])+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _argsOcat :: Catalog+ _argsOidenv :: IDEnv+ _argsOlib :: LocalBindings+ _argsIannotatedTree :: ScalarExprList + _argsIfixedUpIdentifiersTree :: ScalarExprList + _argsIoriginalTree :: ScalarExprList + _argsIuType :: ([Maybe Type])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 235, column 9)+ _tpe =+ do+ at <- mapM lmt _argsIuType+ errorWhen (length at /= 2)+ [AnyAllError $ "must have two args, got " ++ show at]+ let [aType,bType] = at+ errorWhen (not $ isArrayType bType)+ [AnyAllError $ "second arg must be array, got " ++ show at]+ elemType <- unwrapArray $ bType+ resType <- fmap (\(_,_,r,_) -> r) $ findCallMatch _lhsIcat+ oper_+ [aType,elemType]+ errorWhen (resType /= typeBool)+ [AnyAllError $ "operator must have bool return, got " ++ show resType]+ return resType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 249, column 9)+ _backTree =+ LiftOperator ann_ oper_ flav_ _argsIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 135, column 9)+ _argsOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ LiftOperator ann_ oper_ flav_ _argsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ LiftOperator ann_ oper_ flav_ _argsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ LiftOperator ann_ oper_ flav_ _argsIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _argsOcat =+ _lhsIcat+ -- copy rule (down)+ _argsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _argsOlib =+ _lhsIlib+ ( _argsIannotatedTree,_argsIfixedUpIdentifiersTree,_argsIoriginalTree,_argsIuType) =+ args_ _argsOcat _argsOexpectedTypes _argsOidenv _argsOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_NullLit :: Annotation ->+ T_ScalarExpr +sem_ScalarExpr_NullLit ann_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 164, column 16)+ _tpe =+ Right UnknownType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 174, column 9)+ _backTree =+ NullLit ann_+ -- self rule+ _annotatedTree =+ NullLit ann_+ -- self rule+ _fixedUpIdentifiersTree =+ NullLit ann_+ -- self rule+ _originalTree =+ NullLit ann_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_NumberLit :: Annotation ->+ String ->+ T_ScalarExpr +sem_ScalarExpr_NumberLit ann_ d_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 156, column 18)+ _tpe =+ if all (`elem` digChars) d_+ then Right typeInt+ else Right typeNumeric+ where+ digChars = concatMap show [(0::Int)..9]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 168, column 9)+ _backTree =+ NumberLit ann_ d_+ -- self rule+ _annotatedTree =+ NumberLit ann_ d_+ -- self rule+ _fixedUpIdentifiersTree =+ NumberLit ann_ d_+ -- self rule+ _originalTree =+ NumberLit ann_ d_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_Placeholder :: Annotation ->+ T_ScalarExpr +sem_ScalarExpr_Placeholder ann_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 360, column 9)+ _tpe =+ Right UnknownType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 361, column 9)+ _backTree =+ Placeholder ann_+ -- self rule+ _annotatedTree =+ Placeholder ann_+ -- self rule+ _fixedUpIdentifiersTree =+ Placeholder ann_+ -- self rule+ _originalTree =+ Placeholder ann_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_PositionalArg :: Annotation ->+ Integer ->+ T_ScalarExpr +sem_ScalarExpr_PositionalArg ann_ p_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 354, column 9)+ _tpe =+ unwrapLookup <$> lbLookupID _lhsIlib ['$':show p_]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 355, column 9)+ _backTree =+ PositionalArg ann_ p_+ -- self rule+ _annotatedTree =+ PositionalArg ann_ p_+ -- self rule+ _fixedUpIdentifiersTree =+ PositionalArg ann_ p_+ -- self rule+ _originalTree =+ PositionalArg ann_ p_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_QIdentifier :: Annotation ->+ ([NameComponent]) ->+ T_ScalarExpr +sem_ScalarExpr_QIdentifier ann_ is_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 134, column 9)+ _lhsOfixedUpIdentifiersTree =+ QIdentifier ann_ is_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 327, column 9)+ _tpe =+ case is_ of+ [Nmc q,Nmc i] ->+ case lookupLocalBinding _lhsIlib q i of+ Right Nothing -> Left []+ Right (Just t) -> Right t+ Left e -> Left e+ _ -> Left [InternalError "dot selection not implemented"]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 334, column 9)+ _backTree =+ QIdentifier ann_ is_+ -- self rule+ _annotatedTree =+ QIdentifier ann_ is_+ -- self rule+ _fixedUpIdentifiersTree =+ QIdentifier ann_ is_+ -- self rule+ _originalTree =+ QIdentifier ann_ is_+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_QStar :: Annotation ->+ NameComponent ->+ T_ScalarExpr +sem_ScalarExpr_QStar ann_ q_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOuType :: (Maybe Type)+ _lhsOannotatedTree :: ScalarExpr + _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 108, column 9)+ _lhsOuType =+ Nothing+ -- self rule+ _annotatedTree =+ QStar ann_ q_+ -- self rule+ _fixedUpIdentifiersTree =+ QStar ann_ q_+ -- self rule+ _originalTree =+ QStar ann_ q_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_ScalarSubQuery :: Annotation ->+ T_QueryExpr ->+ T_ScalarExpr +sem_ScalarExpr_ScalarSubQuery ann_ sel_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _selOcsql :: LocalBindings+ _selOexpectedTypes :: ([Maybe Type])+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _selOcat :: Catalog+ _selOidenv :: IDEnv+ _selOlib :: LocalBindings+ _selIannotatedTree :: QueryExpr + _selIcidenv :: IDEnv+ _selIfixedUpIdentifiersTree :: QueryExpr + _selIlibUpdates :: ([LocalBindingsUpdate])+ _selIoriginalTree :: QueryExpr + _selIuType :: (Maybe [(String,Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 378, column 9)+ _tpe =+ do+ selType <- lmt (map snd <$> _selIuType)+ case length selType of+ 0 -> Left [InternalError "no columns in scalar subquery?"]+ 1 -> Right $ head selType+ _ -> Right $ AnonymousRecordType selType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 386, column 9)+ _backTree =+ ScalarSubQuery ann_ _selIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 388, column 9)+ _selOcsql =+ _lhsIlib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 169, column 29)+ _selOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ ScalarSubQuery ann_ _selIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ ScalarSubQuery ann_ _selIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ ScalarSubQuery ann_ _selIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _selOcat =+ _lhsIcat+ -- copy rule (down)+ _selOidenv =+ _lhsIidenv+ -- copy rule (down)+ _selOlib =+ _lhsIlib+ ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =+ sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_Star :: Annotation ->+ T_ScalarExpr +sem_ScalarExpr_Star ann_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOuType :: (Maybe Type)+ _lhsOannotatedTree :: ScalarExpr + _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 108, column 9)+ _lhsOuType =+ Nothing+ -- self rule+ _annotatedTree =+ Star ann_+ -- self rule+ _fixedUpIdentifiersTree =+ Star ann_+ -- self rule+ _originalTree =+ Star ann_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_StringLit :: Annotation ->+ String ->+ T_ScalarExpr +sem_ScalarExpr_StringLit ann_ value_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 161, column 18)+ _tpe =+ Right UnknownType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 170, column 9)+ _backTree =+ StringLit ann_ value_+ -- self rule+ _annotatedTree =+ StringLit ann_ value_+ -- self rule+ _fixedUpIdentifiersTree =+ StringLit ann_ value_+ -- self rule+ _originalTree =+ StringLit ann_ value_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_TypedStringLit :: Annotation ->+ T_TypeName ->+ String ->+ T_ScalarExpr +sem_ScalarExpr_TypedStringLit ann_ tn_ value_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _tnOcat :: Catalog+ _tnOidenv :: IDEnv+ _tnOlib :: LocalBindings+ _tnIannotatedTree :: TypeName + _tnIfixedUpIdentifiersTree :: TypeName + _tnInamedType :: (Maybe Type)+ _tnIoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 194, column 10)+ _tpe =+ lmt _tnInamedType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 195, column 10)+ _backTree =+ TypedStringLit ann_ _tnIannotatedTree value_+ -- self rule+ _annotatedTree =+ TypedStringLit ann_ _tnIannotatedTree value_+ -- self rule+ _fixedUpIdentifiersTree =+ TypedStringLit ann_ _tnIfixedUpIdentifiersTree value_+ -- self rule+ _originalTree =+ TypedStringLit ann_ _tnIoriginalTree value_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _tnOcat =+ _lhsIcat+ -- copy rule (down)+ _tnOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tnOlib =+ _lhsIlib+ ( _tnIannotatedTree,_tnIfixedUpIdentifiersTree,_tnInamedType,_tnIoriginalTree) =+ tn_ _tnOcat _tnOidenv _tnOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExpr_WindowFn :: Annotation ->+ T_ScalarExpr ->+ T_ScalarExprList ->+ T_ScalarExprDirectionPairList ->+ FrameClause ->+ T_ScalarExpr +sem_ScalarExpr_WindowFn ann_ fn_ partitionBy_ orderBy_ frm_ =+ (\ _lhsIcat+ _lhsIexpectedType+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExpr + _prototype :: (Maybe FunctionPrototype)+ _lhsOuType :: (Maybe Type)+ _tpe :: Et+ _partitionByOexpectedTypes :: ([Maybe Type])+ _lhsOfixedUpIdentifiersTree :: ScalarExpr + _lhsOoriginalTree :: ScalarExpr + _fnOcat :: Catalog+ _fnOexpectedType :: (Maybe Type)+ _fnOidenv :: IDEnv+ _fnOlib :: LocalBindings+ _partitionByOcat :: Catalog+ _partitionByOidenv :: IDEnv+ _partitionByOlib :: LocalBindings+ _orderByOcat :: Catalog+ _orderByOidenv :: IDEnv+ _orderByOlib :: LocalBindings+ _fnIannotatedTree :: ScalarExpr + _fnIfixedUpIdentifiersTree :: ScalarExpr + _fnIoriginalTree :: ScalarExpr + _fnIuType :: (Maybe Type)+ _partitionByIannotatedTree :: ScalarExprList + _partitionByIfixedUpIdentifiersTree :: ScalarExprList + _partitionByIoriginalTree :: ScalarExprList + _partitionByIuType :: ([Maybe Type])+ _orderByIannotatedTree :: ScalarExprDirectionPairList + _orderByIfixedUpIdentifiersTree :: ScalarExprDirectionPairList + _orderByIoriginalTree :: ScalarExprDirectionPairList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 24, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (setTypeAddErrorsA _tpe+ . \a -> a {fnProt = _prototype+ ,infType = msum [_lhsIexpectedType+ ,etmt _tpe+ ,Nothing]}) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 46, column 9)+ _prototype =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 104, column 9)+ _lhsOuType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 217, column 9)+ _tpe =+ lmt _fnIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 218, column 9)+ _backTree =+ WindowFn ann_+ _fnIannotatedTree+ _partitionByIannotatedTree+ _orderByIannotatedTree+ frm_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 137, column 9)+ _partitionByOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ WindowFn ann_ _fnIannotatedTree _partitionByIannotatedTree _orderByIannotatedTree frm_+ -- self rule+ _fixedUpIdentifiersTree =+ WindowFn ann_ _fnIfixedUpIdentifiersTree _partitionByIfixedUpIdentifiersTree _orderByIfixedUpIdentifiersTree frm_+ -- self rule+ _originalTree =+ WindowFn ann_ _fnIoriginalTree _partitionByIoriginalTree _orderByIoriginalTree frm_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _fnOcat =+ _lhsIcat+ -- copy rule (down)+ _fnOexpectedType =+ _lhsIexpectedType+ -- copy rule (down)+ _fnOidenv =+ _lhsIidenv+ -- copy rule (down)+ _fnOlib =+ _lhsIlib+ -- copy rule (down)+ _partitionByOcat =+ _lhsIcat+ -- copy rule (down)+ _partitionByOidenv =+ _lhsIidenv+ -- copy rule (down)+ _partitionByOlib =+ _lhsIlib+ -- copy rule (down)+ _orderByOcat =+ _lhsIcat+ -- copy rule (down)+ _orderByOidenv =+ _lhsIidenv+ -- copy rule (down)+ _orderByOlib =+ _lhsIlib+ ( _fnIannotatedTree,_fnIfixedUpIdentifiersTree,_fnIoriginalTree,_fnIuType) =+ fn_ _fnOcat _fnOexpectedType _fnOidenv _fnOlib + ( _partitionByIannotatedTree,_partitionByIfixedUpIdentifiersTree,_partitionByIoriginalTree,_partitionByIuType) =+ partitionBy_ _partitionByOcat _partitionByOexpectedTypes _partitionByOidenv _partitionByOlib + ( _orderByIannotatedTree,_orderByIfixedUpIdentifiersTree,_orderByIoriginalTree) =+ orderBy_ _orderByOcat _orderByOidenv _orderByOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+-- ScalarExprDirectionPair -------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Tuple:+ child x1 : ScalarExpr + child x2 : {Direction}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type ScalarExprDirectionPair = ( ScalarExpr ,(Direction))+-- cata+sem_ScalarExprDirectionPair :: ScalarExprDirectionPair ->+ T_ScalarExprDirectionPair +sem_ScalarExprDirectionPair ( x1,x2) =+ (sem_ScalarExprDirectionPair_Tuple (sem_ScalarExpr x1 ) x2 )+-- semantic domain+type T_ScalarExprDirectionPair = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( ScalarExprDirectionPair ,ScalarExprDirectionPair ,ScalarExprDirectionPair )+data Inh_ScalarExprDirectionPair = Inh_ScalarExprDirectionPair {cat_Inh_ScalarExprDirectionPair :: Catalog,idenv_Inh_ScalarExprDirectionPair :: IDEnv,lib_Inh_ScalarExprDirectionPair :: LocalBindings}+data Syn_ScalarExprDirectionPair = Syn_ScalarExprDirectionPair {annotatedTree_Syn_ScalarExprDirectionPair :: ScalarExprDirectionPair ,fixedUpIdentifiersTree_Syn_ScalarExprDirectionPair :: ScalarExprDirectionPair ,originalTree_Syn_ScalarExprDirectionPair :: ScalarExprDirectionPair }+wrap_ScalarExprDirectionPair :: T_ScalarExprDirectionPair ->+ Inh_ScalarExprDirectionPair ->+ Syn_ScalarExprDirectionPair +wrap_ScalarExprDirectionPair sem (Inh_ScalarExprDirectionPair _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_ScalarExprDirectionPair _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_ScalarExprDirectionPair_Tuple :: T_ScalarExpr ->+ Direction ->+ T_ScalarExprDirectionPair +sem_ScalarExprDirectionPair_Tuple x1_ x2_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _x1OexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: ScalarExprDirectionPair + _lhsOfixedUpIdentifiersTree :: ScalarExprDirectionPair + _lhsOoriginalTree :: ScalarExprDirectionPair + _x1Ocat :: Catalog+ _x1Oidenv :: IDEnv+ _x1Olib :: LocalBindings+ _x1IannotatedTree :: ScalarExpr + _x1IfixedUpIdentifiersTree :: ScalarExpr + _x1IoriginalTree :: ScalarExpr + _x1IuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 83, column 13)+ _x1OexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ (_x1IannotatedTree,x2_)+ -- self rule+ _fixedUpIdentifiersTree =+ (_x1IfixedUpIdentifiersTree,x2_)+ -- self rule+ _originalTree =+ (_x1IoriginalTree,x2_)+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _x1Ocat =+ _lhsIcat+ -- copy rule (down)+ _x1Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _x1Olib =+ _lhsIlib+ ( _x1IannotatedTree,_x1IfixedUpIdentifiersTree,_x1IoriginalTree,_x1IuType) =+ x1_ _x1Ocat _x1OexpectedType _x1Oidenv _x1Olib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- ScalarExprDirectionPairList ---------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Cons:+ child hd : ScalarExprDirectionPair + child tl : ScalarExprDirectionPairList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type ScalarExprDirectionPairList = [ScalarExprDirectionPair ]+-- cata+sem_ScalarExprDirectionPairList :: ScalarExprDirectionPairList ->+ T_ScalarExprDirectionPairList +sem_ScalarExprDirectionPairList list =+ (Prelude.foldr sem_ScalarExprDirectionPairList_Cons sem_ScalarExprDirectionPairList_Nil (Prelude.map sem_ScalarExprDirectionPair list) )+-- semantic domain+type T_ScalarExprDirectionPairList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( ScalarExprDirectionPairList ,ScalarExprDirectionPairList ,ScalarExprDirectionPairList )+data Inh_ScalarExprDirectionPairList = Inh_ScalarExprDirectionPairList {cat_Inh_ScalarExprDirectionPairList :: Catalog,idenv_Inh_ScalarExprDirectionPairList :: IDEnv,lib_Inh_ScalarExprDirectionPairList :: LocalBindings}+data Syn_ScalarExprDirectionPairList = Syn_ScalarExprDirectionPairList {annotatedTree_Syn_ScalarExprDirectionPairList :: ScalarExprDirectionPairList ,fixedUpIdentifiersTree_Syn_ScalarExprDirectionPairList :: ScalarExprDirectionPairList ,originalTree_Syn_ScalarExprDirectionPairList :: ScalarExprDirectionPairList }+wrap_ScalarExprDirectionPairList :: T_ScalarExprDirectionPairList ->+ Inh_ScalarExprDirectionPairList ->+ Syn_ScalarExprDirectionPairList +wrap_ScalarExprDirectionPairList sem (Inh_ScalarExprDirectionPairList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_ScalarExprDirectionPairList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_ScalarExprDirectionPairList_Cons :: T_ScalarExprDirectionPair ->+ T_ScalarExprDirectionPairList ->+ T_ScalarExprDirectionPairList +sem_ScalarExprDirectionPairList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExprDirectionPairList + _lhsOfixedUpIdentifiersTree :: ScalarExprDirectionPairList + _lhsOoriginalTree :: ScalarExprDirectionPairList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: ScalarExprDirectionPair + _hdIfixedUpIdentifiersTree :: ScalarExprDirectionPair + _hdIoriginalTree :: ScalarExprDirectionPair + _tlIannotatedTree :: ScalarExprDirectionPairList + _tlIfixedUpIdentifiersTree :: ScalarExprDirectionPairList + _tlIoriginalTree :: ScalarExprDirectionPairList + -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_ScalarExprDirectionPairList_Nil :: T_ScalarExprDirectionPairList +sem_ScalarExprDirectionPairList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExprDirectionPairList + _lhsOfixedUpIdentifiersTree :: ScalarExprDirectionPairList + _lhsOoriginalTree :: ScalarExprDirectionPairList + -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- ScalarExprList ----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ expectedTypes : [Maybe Type]+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + uType : [Maybe Type]+ alternatives:+ alternative Cons:+ child hd : ScalarExpr + child tl : ScalarExprList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type ScalarExprList = [ScalarExpr ]+-- cata+sem_ScalarExprList :: ScalarExprList ->+ T_ScalarExprList +sem_ScalarExprList list =+ (Prelude.foldr sem_ScalarExprList_Cons sem_ScalarExprList_Nil (Prelude.map sem_ScalarExpr list) )+-- semantic domain+type T_ScalarExprList = Catalog ->+ ([Maybe Type]) ->+ IDEnv ->+ LocalBindings ->+ ( ScalarExprList ,ScalarExprList ,ScalarExprList ,([Maybe Type]))+data Inh_ScalarExprList = Inh_ScalarExprList {cat_Inh_ScalarExprList :: Catalog,expectedTypes_Inh_ScalarExprList :: ([Maybe Type]),idenv_Inh_ScalarExprList :: IDEnv,lib_Inh_ScalarExprList :: LocalBindings}+data Syn_ScalarExprList = Syn_ScalarExprList {annotatedTree_Syn_ScalarExprList :: ScalarExprList ,fixedUpIdentifiersTree_Syn_ScalarExprList :: ScalarExprList ,originalTree_Syn_ScalarExprList :: ScalarExprList ,uType_Syn_ScalarExprList :: ([Maybe Type])}+wrap_ScalarExprList :: T_ScalarExprList ->+ Inh_ScalarExprList ->+ Syn_ScalarExprList +wrap_ScalarExprList sem (Inh_ScalarExprList _lhsIcat _lhsIexpectedTypes _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType) = sem _lhsIcat _lhsIexpectedTypes _lhsIidenv _lhsIlib + in (Syn_ScalarExprList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOuType ))+sem_ScalarExprList_Cons :: T_ScalarExpr ->+ T_ScalarExprList ->+ T_ScalarExprList +sem_ScalarExprList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIexpectedTypes+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOuType :: ([Maybe Type])+ _hdOexpectedType :: (Maybe Type)+ _tlOexpectedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: ScalarExprList + _lhsOfixedUpIdentifiersTree :: ScalarExprList + _lhsOoriginalTree :: ScalarExprList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: ScalarExpr + _hdIfixedUpIdentifiersTree :: ScalarExpr + _hdIoriginalTree :: ScalarExpr + _hdIuType :: (Maybe Type)+ _tlIannotatedTree :: ScalarExprList + _tlIfixedUpIdentifiersTree :: ScalarExprList + _tlIoriginalTree :: ScalarExprList + _tlIuType :: ([Maybe Type])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 114, column 12)+ _lhsOuType =+ _hdIuType : _tlIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 86, column 12)+ _hdOexpectedType =+ case _lhsIexpectedTypes of+ (t:_) -> t+ _ -> Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 89, column 12)+ _tlOexpectedTypes =+ case _lhsIexpectedTypes of+ (_:ts) -> ts+ _ -> []+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree,_hdIuType) =+ hd_ _hdOcat _hdOexpectedType _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIuType) =+ tl_ _tlOcat _tlOexpectedTypes _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExprList_Nil :: T_ScalarExprList +sem_ScalarExprList_Nil =+ (\ _lhsIcat+ _lhsIexpectedTypes+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOuType :: ([Maybe Type])+ _lhsOannotatedTree :: ScalarExprList + _lhsOfixedUpIdentifiersTree :: ScalarExprList + _lhsOoriginalTree :: ScalarExprList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 115, column 11)+ _lhsOuType =+ []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+-- ScalarExprListList ------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ expectedTypes : [Maybe Type]+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + uType : [[Maybe Type]]+ alternatives:+ alternative Cons:+ child hd : ScalarExprList + child tl : ScalarExprListList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type ScalarExprListList = [ScalarExprList ]+-- cata+sem_ScalarExprListList :: ScalarExprListList ->+ T_ScalarExprListList +sem_ScalarExprListList list =+ (Prelude.foldr sem_ScalarExprListList_Cons sem_ScalarExprListList_Nil (Prelude.map sem_ScalarExprList list) )+-- semantic domain+type T_ScalarExprListList = Catalog ->+ ([Maybe Type]) ->+ IDEnv ->+ LocalBindings ->+ ( ScalarExprListList ,ScalarExprListList ,ScalarExprListList ,([[Maybe Type]]))+data Inh_ScalarExprListList = Inh_ScalarExprListList {cat_Inh_ScalarExprListList :: Catalog,expectedTypes_Inh_ScalarExprListList :: ([Maybe Type]),idenv_Inh_ScalarExprListList :: IDEnv,lib_Inh_ScalarExprListList :: LocalBindings}+data Syn_ScalarExprListList = Syn_ScalarExprListList {annotatedTree_Syn_ScalarExprListList :: ScalarExprListList ,fixedUpIdentifiersTree_Syn_ScalarExprListList :: ScalarExprListList ,originalTree_Syn_ScalarExprListList :: ScalarExprListList ,uType_Syn_ScalarExprListList :: ([[Maybe Type]])}+wrap_ScalarExprListList :: T_ScalarExprListList ->+ Inh_ScalarExprListList ->+ Syn_ScalarExprListList +wrap_ScalarExprListList sem (Inh_ScalarExprListList _lhsIcat _lhsIexpectedTypes _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType) = sem _lhsIcat _lhsIexpectedTypes _lhsIidenv _lhsIlib + in (Syn_ScalarExprListList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOuType ))+sem_ScalarExprListList_Cons :: T_ScalarExprList ->+ T_ScalarExprListList ->+ T_ScalarExprListList +sem_ScalarExprListList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIexpectedTypes+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOuType :: ([[Maybe Type]])+ _hdOexpectedTypes :: ([Maybe Type])+ _tlOexpectedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: ScalarExprListList + _lhsOfixedUpIdentifiersTree :: ScalarExprListList + _lhsOoriginalTree :: ScalarExprListList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: ScalarExprList + _hdIfixedUpIdentifiersTree :: ScalarExprList + _hdIoriginalTree :: ScalarExprList + _hdIuType :: ([Maybe Type])+ _tlIannotatedTree :: ScalarExprListList + _tlIfixedUpIdentifiersTree :: ScalarExprListList + _tlIoriginalTree :: ScalarExprListList + _tlIuType :: ([[Maybe Type]])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 124, column 12)+ _lhsOuType =+ _hdIuType : _tlIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 165, column 12)+ _hdOexpectedTypes =+ _lhsIexpectedTypes+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 166, column 12)+ _tlOexpectedTypes =+ _lhsIexpectedTypes+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree,_hdIuType) =+ hd_ _hdOcat _hdOexpectedTypes _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIuType) =+ tl_ _tlOcat _tlOexpectedTypes _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+sem_ScalarExprListList_Nil :: T_ScalarExprListList +sem_ScalarExprListList_Nil =+ (\ _lhsIcat+ _lhsIexpectedTypes+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOuType :: ([[Maybe Type]])+ _lhsOannotatedTree :: ScalarExprListList + _lhsOfixedUpIdentifiersTree :: ScalarExprListList + _lhsOoriginalTree :: ScalarExprListList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs/ScalarExprs.ag"(line 125, column 11)+ _lhsOuType =+ []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOuType)))+-- ScalarExprListStatementListPair -----------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Tuple:+ child x1 : ScalarExprList + child x2 : StatementList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type ScalarExprListStatementListPair = ( ScalarExprList ,StatementList )+-- cata+sem_ScalarExprListStatementListPair :: ScalarExprListStatementListPair ->+ T_ScalarExprListStatementListPair +sem_ScalarExprListStatementListPair ( x1,x2) =+ (sem_ScalarExprListStatementListPair_Tuple (sem_ScalarExprList x1 ) (sem_StatementList x2 ) )+-- semantic domain+type T_ScalarExprListStatementListPair = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( ScalarExprListStatementListPair ,ScalarExprListStatementListPair ,ScalarExprListStatementListPair )+data Inh_ScalarExprListStatementListPair = Inh_ScalarExprListStatementListPair {cat_Inh_ScalarExprListStatementListPair :: Catalog,idenv_Inh_ScalarExprListStatementListPair :: IDEnv,lib_Inh_ScalarExprListStatementListPair :: LocalBindings}+data Syn_ScalarExprListStatementListPair = Syn_ScalarExprListStatementListPair {annotatedTree_Syn_ScalarExprListStatementListPair :: ScalarExprListStatementListPair ,fixedUpIdentifiersTree_Syn_ScalarExprListStatementListPair :: ScalarExprListStatementListPair ,originalTree_Syn_ScalarExprListStatementListPair :: ScalarExprListStatementListPair }+wrap_ScalarExprListStatementListPair :: T_ScalarExprListStatementListPair ->+ Inh_ScalarExprListStatementListPair ->+ Syn_ScalarExprListStatementListPair +wrap_ScalarExprListStatementListPair sem (Inh_ScalarExprListStatementListPair _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_ScalarExprListStatementListPair _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_ScalarExprListStatementListPair_Tuple :: T_ScalarExprList ->+ T_StatementList ->+ T_ScalarExprListStatementListPair +sem_ScalarExprListStatementListPair_Tuple x1_ x2_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _x2OcatUpdates :: ([CatalogUpdate])+ _x2OlibUpdates :: ([LocalBindingsUpdate])+ _x1OexpectedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: ScalarExprListStatementListPair + _lhsOfixedUpIdentifiersTree :: ScalarExprListStatementListPair + _lhsOoriginalTree :: ScalarExprListStatementListPair + _x1Ocat :: Catalog+ _x1Oidenv :: IDEnv+ _x1Olib :: LocalBindings+ _x2Ocat :: Catalog+ _x2Oidenv :: IDEnv+ _x2Olib :: LocalBindings+ _x1IannotatedTree :: ScalarExprList + _x1IfixedUpIdentifiersTree :: ScalarExprList + _x1IoriginalTree :: ScalarExprList + _x1IuType :: ([Maybe Type])+ _x2IannotatedTree :: StatementList + _x2IfixedUpIdentifiersTree :: StatementList + _x2IoriginalTree :: StatementList + _x2IproducedCat :: Catalog+ _x2IproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 121, column 9)+ _x2OcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 122, column 9)+ _x2OlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 142, column 13)+ _x1OexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ (_x1IannotatedTree,_x2IannotatedTree)+ -- self rule+ _fixedUpIdentifiersTree =+ (_x1IfixedUpIdentifiersTree,_x2IfixedUpIdentifiersTree)+ -- self rule+ _originalTree =+ (_x1IoriginalTree,_x2IoriginalTree)+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _x1Ocat =+ _lhsIcat+ -- copy rule (down)+ _x1Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _x1Olib =+ _lhsIlib+ -- copy rule (down)+ _x2Ocat =+ _lhsIcat+ -- copy rule (down)+ _x2Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _x2Olib =+ _lhsIlib+ ( _x1IannotatedTree,_x1IfixedUpIdentifiersTree,_x1IoriginalTree,_x1IuType) =+ x1_ _x1Ocat _x1OexpectedTypes _x1Oidenv _x1Olib + ( _x2IannotatedTree,_x2IfixedUpIdentifiersTree,_x2IoriginalTree,_x2IproducedCat,_x2IproducedLib) =+ x2_ _x2Ocat _x2OcatUpdates _x2Oidenv _x2Olib _x2OlibUpdates + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- ScalarExprListStatementListPairList -------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Cons:+ child hd : ScalarExprListStatementListPair + child tl : ScalarExprListStatementListPairList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type ScalarExprListStatementListPairList = [ScalarExprListStatementListPair ]+-- cata+sem_ScalarExprListStatementListPairList :: ScalarExprListStatementListPairList ->+ T_ScalarExprListStatementListPairList +sem_ScalarExprListStatementListPairList list =+ (Prelude.foldr sem_ScalarExprListStatementListPairList_Cons sem_ScalarExprListStatementListPairList_Nil (Prelude.map sem_ScalarExprListStatementListPair list) )+-- semantic domain+type T_ScalarExprListStatementListPairList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( ScalarExprListStatementListPairList ,ScalarExprListStatementListPairList ,ScalarExprListStatementListPairList )+data Inh_ScalarExprListStatementListPairList = Inh_ScalarExprListStatementListPairList {cat_Inh_ScalarExprListStatementListPairList :: Catalog,idenv_Inh_ScalarExprListStatementListPairList :: IDEnv,lib_Inh_ScalarExprListStatementListPairList :: LocalBindings}+data Syn_ScalarExprListStatementListPairList = Syn_ScalarExprListStatementListPairList {annotatedTree_Syn_ScalarExprListStatementListPairList :: ScalarExprListStatementListPairList ,fixedUpIdentifiersTree_Syn_ScalarExprListStatementListPairList :: ScalarExprListStatementListPairList ,originalTree_Syn_ScalarExprListStatementListPairList :: ScalarExprListStatementListPairList }+wrap_ScalarExprListStatementListPairList :: T_ScalarExprListStatementListPairList ->+ Inh_ScalarExprListStatementListPairList ->+ Syn_ScalarExprListStatementListPairList +wrap_ScalarExprListStatementListPairList sem (Inh_ScalarExprListStatementListPairList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_ScalarExprListStatementListPairList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_ScalarExprListStatementListPairList_Cons :: T_ScalarExprListStatementListPair ->+ T_ScalarExprListStatementListPairList ->+ T_ScalarExprListStatementListPairList +sem_ScalarExprListStatementListPairList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExprListStatementListPairList + _lhsOfixedUpIdentifiersTree :: ScalarExprListStatementListPairList + _lhsOoriginalTree :: ScalarExprListStatementListPairList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: ScalarExprListStatementListPair + _hdIfixedUpIdentifiersTree :: ScalarExprListStatementListPair + _hdIoriginalTree :: ScalarExprListStatementListPair + _tlIannotatedTree :: ScalarExprListStatementListPairList + _tlIfixedUpIdentifiersTree :: ScalarExprListStatementListPairList + _tlIoriginalTree :: ScalarExprListStatementListPairList + -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_ScalarExprListStatementListPairList_Nil :: T_ScalarExprListStatementListPairList +sem_ScalarExprListStatementListPairList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExprListStatementListPairList + _lhsOfixedUpIdentifiersTree :: ScalarExprListStatementListPairList + _lhsOoriginalTree :: ScalarExprListStatementListPairList + -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- ScalarExprRoot ----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative ScalarExprRoot:+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data ScalarExprRoot = ScalarExprRoot (ScalarExpr ) + deriving ( Show)+-- cata+sem_ScalarExprRoot :: ScalarExprRoot ->+ T_ScalarExprRoot +sem_ScalarExprRoot (ScalarExprRoot _expr ) =+ (sem_ScalarExprRoot_ScalarExprRoot (sem_ScalarExpr _expr ) )+-- semantic domain+type T_ScalarExprRoot = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( ScalarExprRoot ,ScalarExprRoot ,ScalarExprRoot )+data Inh_ScalarExprRoot = Inh_ScalarExprRoot {cat_Inh_ScalarExprRoot :: Catalog,idenv_Inh_ScalarExprRoot :: IDEnv,lib_Inh_ScalarExprRoot :: LocalBindings}+data Syn_ScalarExprRoot = Syn_ScalarExprRoot {annotatedTree_Syn_ScalarExprRoot :: ScalarExprRoot ,fixedUpIdentifiersTree_Syn_ScalarExprRoot :: ScalarExprRoot ,originalTree_Syn_ScalarExprRoot :: ScalarExprRoot }+wrap_ScalarExprRoot :: T_ScalarExprRoot ->+ Inh_ScalarExprRoot ->+ Syn_ScalarExprRoot +wrap_ScalarExprRoot sem (Inh_ScalarExprRoot _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_ScalarExprRoot _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_ScalarExprRoot_ScalarExprRoot :: T_ScalarExpr ->+ T_ScalarExprRoot +sem_ScalarExprRoot_ScalarExprRoot expr_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _exprOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: ScalarExprRoot + _lhsOfixedUpIdentifiersTree :: ScalarExprRoot + _lhsOoriginalTree :: ScalarExprRoot + _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _exprIannotatedTree :: ScalarExpr + _exprIfixedUpIdentifiersTree :: ScalarExpr + _exprIoriginalTree :: ScalarExpr + _exprIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 120, column 22)+ _exprOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ ScalarExprRoot _exprIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ ScalarExprRoot _exprIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ ScalarExprRoot _exprIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- ScalarExprStatementListPair ---------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Tuple:+ child x1 : ScalarExpr + child x2 : StatementList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type ScalarExprStatementListPair = ( ScalarExpr ,StatementList )+-- cata+sem_ScalarExprStatementListPair :: ScalarExprStatementListPair ->+ T_ScalarExprStatementListPair +sem_ScalarExprStatementListPair ( x1,x2) =+ (sem_ScalarExprStatementListPair_Tuple (sem_ScalarExpr x1 ) (sem_StatementList x2 ) )+-- semantic domain+type T_ScalarExprStatementListPair = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( ScalarExprStatementListPair ,ScalarExprStatementListPair ,ScalarExprStatementListPair )+data Inh_ScalarExprStatementListPair = Inh_ScalarExprStatementListPair {cat_Inh_ScalarExprStatementListPair :: Catalog,idenv_Inh_ScalarExprStatementListPair :: IDEnv,lib_Inh_ScalarExprStatementListPair :: LocalBindings}+data Syn_ScalarExprStatementListPair = Syn_ScalarExprStatementListPair {annotatedTree_Syn_ScalarExprStatementListPair :: ScalarExprStatementListPair ,fixedUpIdentifiersTree_Syn_ScalarExprStatementListPair :: ScalarExprStatementListPair ,originalTree_Syn_ScalarExprStatementListPair :: ScalarExprStatementListPair }+wrap_ScalarExprStatementListPair :: T_ScalarExprStatementListPair ->+ Inh_ScalarExprStatementListPair ->+ Syn_ScalarExprStatementListPair +wrap_ScalarExprStatementListPair sem (Inh_ScalarExprStatementListPair _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_ScalarExprStatementListPair _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_ScalarExprStatementListPair_Tuple :: T_ScalarExpr ->+ T_StatementList ->+ T_ScalarExprStatementListPair +sem_ScalarExprStatementListPair_Tuple x1_ x2_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _x2OcatUpdates :: ([CatalogUpdate])+ _x2OlibUpdates :: ([LocalBindingsUpdate])+ _x1OexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: ScalarExprStatementListPair + _lhsOfixedUpIdentifiersTree :: ScalarExprStatementListPair + _lhsOoriginalTree :: ScalarExprStatementListPair + _x1Ocat :: Catalog+ _x1Oidenv :: IDEnv+ _x1Olib :: LocalBindings+ _x2Ocat :: Catalog+ _x2Oidenv :: IDEnv+ _x2Olib :: LocalBindings+ _x1IannotatedTree :: ScalarExpr + _x1IfixedUpIdentifiersTree :: ScalarExpr + _x1IoriginalTree :: ScalarExpr + _x1IuType :: (Maybe Type)+ _x2IannotatedTree :: StatementList + _x2IfixedUpIdentifiersTree :: StatementList + _x2IoriginalTree :: StatementList + _x2IproducedCat :: Catalog+ _x2IproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 125, column 9)+ _x2OcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 126, column 9)+ _x2OlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 123, column 13)+ _x1OexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ (_x1IannotatedTree,_x2IannotatedTree)+ -- self rule+ _fixedUpIdentifiersTree =+ (_x1IfixedUpIdentifiersTree,_x2IfixedUpIdentifiersTree)+ -- self rule+ _originalTree =+ (_x1IoriginalTree,_x2IoriginalTree)+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _x1Ocat =+ _lhsIcat+ -- copy rule (down)+ _x1Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _x1Olib =+ _lhsIlib+ -- copy rule (down)+ _x2Ocat =+ _lhsIcat+ -- copy rule (down)+ _x2Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _x2Olib =+ _lhsIlib+ ( _x1IannotatedTree,_x1IfixedUpIdentifiersTree,_x1IoriginalTree,_x1IuType) =+ x1_ _x1Ocat _x1OexpectedType _x1Oidenv _x1Olib + ( _x2IannotatedTree,_x2IfixedUpIdentifiersTree,_x2IoriginalTree,_x2IproducedCat,_x2IproducedLib) =+ x2_ _x2Ocat _x2OcatUpdates _x2Oidenv _x2Olib _x2OlibUpdates + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- ScalarExprStatementListPairList -----------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Cons:+ child hd : ScalarExprStatementListPair + child tl : ScalarExprStatementListPairList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type ScalarExprStatementListPairList = [ScalarExprStatementListPair ]+-- cata+sem_ScalarExprStatementListPairList :: ScalarExprStatementListPairList ->+ T_ScalarExprStatementListPairList +sem_ScalarExprStatementListPairList list =+ (Prelude.foldr sem_ScalarExprStatementListPairList_Cons sem_ScalarExprStatementListPairList_Nil (Prelude.map sem_ScalarExprStatementListPair list) )+-- semantic domain+type T_ScalarExprStatementListPairList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( ScalarExprStatementListPairList ,ScalarExprStatementListPairList ,ScalarExprStatementListPairList )+data Inh_ScalarExprStatementListPairList = Inh_ScalarExprStatementListPairList {cat_Inh_ScalarExprStatementListPairList :: Catalog,idenv_Inh_ScalarExprStatementListPairList :: IDEnv,lib_Inh_ScalarExprStatementListPairList :: LocalBindings}+data Syn_ScalarExprStatementListPairList = Syn_ScalarExprStatementListPairList {annotatedTree_Syn_ScalarExprStatementListPairList :: ScalarExprStatementListPairList ,fixedUpIdentifiersTree_Syn_ScalarExprStatementListPairList :: ScalarExprStatementListPairList ,originalTree_Syn_ScalarExprStatementListPairList :: ScalarExprStatementListPairList }+wrap_ScalarExprStatementListPairList :: T_ScalarExprStatementListPairList ->+ Inh_ScalarExprStatementListPairList ->+ Syn_ScalarExprStatementListPairList +wrap_ScalarExprStatementListPairList sem (Inh_ScalarExprStatementListPairList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_ScalarExprStatementListPairList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_ScalarExprStatementListPairList_Cons :: T_ScalarExprStatementListPair ->+ T_ScalarExprStatementListPairList ->+ T_ScalarExprStatementListPairList +sem_ScalarExprStatementListPairList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExprStatementListPairList + _lhsOfixedUpIdentifiersTree :: ScalarExprStatementListPairList + _lhsOoriginalTree :: ScalarExprStatementListPairList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: ScalarExprStatementListPair + _hdIfixedUpIdentifiersTree :: ScalarExprStatementListPair + _hdIoriginalTree :: ScalarExprStatementListPair + _tlIannotatedTree :: ScalarExprStatementListPairList + _tlIfixedUpIdentifiersTree :: ScalarExprStatementListPairList + _tlIoriginalTree :: ScalarExprStatementListPairList + -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_ScalarExprStatementListPairList_Nil :: T_ScalarExprStatementListPairList +sem_ScalarExprStatementListPairList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: ScalarExprStatementListPairList + _lhsOfixedUpIdentifiersTree :: ScalarExprStatementListPairList + _lhsOoriginalTree :: ScalarExprStatementListPairList + -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- SelectItem --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + itemType : (String,Maybe Type)+ originalTree : SELF + seIdTree : [SelectItem]+ alternatives:+ alternative SelExp:+ child ann : {Annotation}+ child ex : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative SelectItem:+ child ann : {Annotation}+ child ex : ScalarExpr + child name : {NameComponent}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data SelectItem = SelExp (Annotation) (ScalarExpr ) + | SelectItem (Annotation) (ScalarExpr ) (NameComponent) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_SelectItem :: SelectItem ->+ T_SelectItem +sem_SelectItem (SelExp _ann _ex ) =+ (sem_SelectItem_SelExp _ann (sem_ScalarExpr _ex ) )+sem_SelectItem (SelectItem _ann _ex _name ) =+ (sem_SelectItem_SelectItem _ann (sem_ScalarExpr _ex ) _name )+-- semantic domain+type T_SelectItem = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( SelectItem ,SelectItem ,((String,Maybe Type)),SelectItem ,([SelectItem]))+data Inh_SelectItem = Inh_SelectItem {cat_Inh_SelectItem :: Catalog,idenv_Inh_SelectItem :: IDEnv,lib_Inh_SelectItem :: LocalBindings}+data Syn_SelectItem = Syn_SelectItem {annotatedTree_Syn_SelectItem :: SelectItem ,fixedUpIdentifiersTree_Syn_SelectItem :: SelectItem ,itemType_Syn_SelectItem :: ((String,Maybe Type)),originalTree_Syn_SelectItem :: SelectItem ,seIdTree_Syn_SelectItem :: ([SelectItem])}+wrap_SelectItem :: T_SelectItem ->+ Inh_SelectItem ->+ Syn_SelectItem +wrap_SelectItem sem (Inh_SelectItem _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOitemType,_lhsOoriginalTree,_lhsOseIdTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_SelectItem _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOitemType _lhsOoriginalTree _lhsOseIdTree ))+sem_SelectItem_SelExp :: Annotation ->+ T_ScalarExpr ->+ T_SelectItem +sem_SelectItem_SelExp ann_ ex_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOseIdTree :: ([SelectItem])+ _lhsOitemType :: ((String,Maybe Type))+ _exOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: SelectItem + _lhsOfixedUpIdentifiersTree :: SelectItem + _lhsOoriginalTree :: SelectItem + _exOcat :: Catalog+ _exOidenv :: IDEnv+ _exOlib :: LocalBindings+ _exIannotatedTree :: ScalarExpr + _exIfixedUpIdentifiersTree :: ScalarExpr + _exIoriginalTree :: ScalarExpr + _exIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 147, column 14)+ _lhsOseIdTree =+ case _exIfixedUpIdentifiersTree of+ Star a ->+ maybe [SelExp ann_ _exIfixedUpIdentifiersTree]+ (makeSelExps ann_ a a)+ $ expandStar _lhsIidenv Nothing+ QStar a0 (Nmc q) ->+ maybe [SelExp ann_ _exIfixedUpIdentifiersTree]+ (makeSelExps ann_ a0 a0)+ $ expandStar _lhsIidenv $ Just q+ _ -> [addSIAlias $ SelExp ann_ _exIfixedUpIdentifiersTree]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 32, column 9)+ _annotatedTree =+ SelExp ann_ _exIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 60, column 9)+ _lhsOitemType =+ ("", Nothing)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 106, column 25)+ _exOexpectedType =+ Nothing+ -- self rule+ _fixedUpIdentifiersTree =+ SelExp ann_ _exIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ SelExp ann_ _exIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exOcat =+ _lhsIcat+ -- copy rule (down)+ _exOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exOlib =+ _lhsIlib+ ( _exIannotatedTree,_exIfixedUpIdentifiersTree,_exIoriginalTree,_exIuType) =+ ex_ _exOcat _exOexpectedType _exOidenv _exOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOitemType,_lhsOoriginalTree,_lhsOseIdTree)))+sem_SelectItem_SelectItem :: Annotation ->+ T_ScalarExpr ->+ NameComponent ->+ T_SelectItem +sem_SelectItem_SelectItem ann_ ex_ name_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOseIdTree :: ([SelectItem])+ _lhsOitemType :: ((String,Maybe Type))+ _exOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: SelectItem + _lhsOfixedUpIdentifiersTree :: SelectItem + _lhsOoriginalTree :: SelectItem + _exOcat :: Catalog+ _exOidenv :: IDEnv+ _exOlib :: LocalBindings+ _exIannotatedTree :: ScalarExpr + _exIfixedUpIdentifiersTree :: ScalarExpr + _exIoriginalTree :: ScalarExpr + _exIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 168, column 18)+ _lhsOseIdTree =+ [SelectItem ann_ _exIfixedUpIdentifiersTree name_]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 34, column 9)+ _annotatedTree =+ SelectItem ann_ _exIannotatedTree name_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 62, column 9)+ _lhsOitemType =+ (ncStr name_, unwrapSetof `fmap` _exIuType)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 106, column 25)+ _exOexpectedType =+ Nothing+ -- self rule+ _fixedUpIdentifiersTree =+ SelectItem ann_ _exIfixedUpIdentifiersTree name_+ -- self rule+ _originalTree =+ SelectItem ann_ _exIoriginalTree name_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exOcat =+ _lhsIcat+ -- copy rule (down)+ _exOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exOlib =+ _lhsIlib+ ( _exIannotatedTree,_exIfixedUpIdentifiersTree,_exIoriginalTree,_exIuType) =+ ex_ _exOcat _exOexpectedType _exOidenv _exOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOitemType,_lhsOoriginalTree,_lhsOseIdTree)))+-- SelectItemList ----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + listType : [(String,Maybe Type)]+ originalTree : SELF + alternatives:+ alternative Cons:+ child hd : SelectItem + child tl : SelectItemList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type SelectItemList = [SelectItem ]+-- cata+sem_SelectItemList :: SelectItemList ->+ T_SelectItemList +sem_SelectItemList list =+ (Prelude.foldr sem_SelectItemList_Cons sem_SelectItemList_Nil (Prelude.map sem_SelectItem list) )+-- semantic domain+type T_SelectItemList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( SelectItemList ,SelectItemList ,([(String,Maybe Type)]),SelectItemList )+data Inh_SelectItemList = Inh_SelectItemList {cat_Inh_SelectItemList :: Catalog,idenv_Inh_SelectItemList :: IDEnv,lib_Inh_SelectItemList :: LocalBindings}+data Syn_SelectItemList = Syn_SelectItemList {annotatedTree_Syn_SelectItemList :: SelectItemList ,fixedUpIdentifiersTree_Syn_SelectItemList :: SelectItemList ,listType_Syn_SelectItemList :: ([(String,Maybe Type)]),originalTree_Syn_SelectItemList :: SelectItemList }+wrap_SelectItemList :: T_SelectItemList ->+ Inh_SelectItemList ->+ Syn_SelectItemList +wrap_SelectItemList sem (Inh_SelectItemList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_SelectItemList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOlistType _lhsOoriginalTree ))+sem_SelectItemList_Cons :: T_SelectItem ->+ T_SelectItemList ->+ T_SelectItemList +sem_SelectItemList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOfixedUpIdentifiersTree :: SelectItemList + _lhsOlistType :: ([(String,Maybe Type)])+ _lhsOannotatedTree :: SelectItemList + _lhsOoriginalTree :: SelectItemList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: SelectItem + _hdIfixedUpIdentifiersTree :: SelectItem + _hdIitemType :: ((String,Maybe Type))+ _hdIoriginalTree :: SelectItem + _hdIseIdTree :: ([SelectItem])+ _tlIannotatedTree :: SelectItemList + _tlIfixedUpIdentifiersTree :: SelectItemList + _tlIlistType :: ([(String,Maybe Type)])+ _tlIoriginalTree :: SelectItemList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 138, column 12)+ _lhsOfixedUpIdentifiersTree =+ _hdIseIdTree ++ _tlIfixedUpIdentifiersTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 12)+ _lhsOlistType =+ _hdIitemType : _tlIlistType+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIitemType,_hdIoriginalTree,_hdIseIdTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIlistType,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))+sem_SelectItemList_Nil :: T_SelectItemList +sem_SelectItemList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOfixedUpIdentifiersTree :: SelectItemList + _lhsOlistType :: ([(String,Maybe Type)])+ _lhsOannotatedTree :: SelectItemList + _lhsOoriginalTree :: SelectItemList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 139, column 11)+ _lhsOfixedUpIdentifiersTree =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 43, column 11)+ _lhsOlistType =+ []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlistType,_lhsOoriginalTree)))+-- SelectList --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + cidenv : IDEnv+ fixedUpIdentifiersTree : SELF + libUpdates : [LocalBindingsUpdate]+ listType : [(String,Maybe Type)]+ originalTree : SELF + alternatives:+ alternative SelectList:+ child ann : {Annotation}+ child items : SelectItemList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data SelectList = SelectList (Annotation) (SelectItemList ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_SelectList :: SelectList ->+ T_SelectList +sem_SelectList (SelectList _ann _items ) =+ (sem_SelectList_SelectList _ann (sem_SelectItemList _items ) )+-- semantic domain+type T_SelectList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( SelectList ,IDEnv,SelectList ,([LocalBindingsUpdate]),([(String,Maybe Type)]),SelectList )+data Inh_SelectList = Inh_SelectList {cat_Inh_SelectList :: Catalog,idenv_Inh_SelectList :: IDEnv,lib_Inh_SelectList :: LocalBindings}+data Syn_SelectList = Syn_SelectList {annotatedTree_Syn_SelectList :: SelectList ,cidenv_Syn_SelectList :: IDEnv,fixedUpIdentifiersTree_Syn_SelectList :: SelectList ,libUpdates_Syn_SelectList :: ([LocalBindingsUpdate]),listType_Syn_SelectList :: ([(String,Maybe Type)]),originalTree_Syn_SelectList :: SelectList }+wrap_SelectList :: T_SelectList ->+ Inh_SelectList ->+ Syn_SelectList +wrap_SelectList sem (Inh_SelectList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOlistType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_SelectList _lhsOannotatedTree _lhsOcidenv _lhsOfixedUpIdentifiersTree _lhsOlibUpdates _lhsOlistType _lhsOoriginalTree ))+sem_SelectList_SelectList :: Annotation ->+ T_SelectItemList ->+ T_SelectList +sem_SelectList_SelectList ann_ items_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOcidenv :: IDEnv+ _lhsOlistType :: ([(String,Maybe Type)])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: SelectList + _lhsOfixedUpIdentifiersTree :: SelectList + _lhsOoriginalTree :: SelectList + _itemsOcat :: Catalog+ _itemsOidenv :: IDEnv+ _itemsOlib :: LocalBindings+ _itemsIannotatedTree :: SelectItemList + _itemsIfixedUpIdentifiersTree :: SelectItemList + _itemsIlistType :: ([(String,Maybe Type)])+ _itemsIoriginalTree :: SelectItemList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 119, column 9)+ _lhsOcidenv =+ TrefIDEnv "" (map (\(SelectItem _ _ n) -> ncStr n)+ _itemsIfixedUpIdentifiersTree)+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 77, column 9)+ _lhsOlistType =+ _itemsIlistType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 97, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 131, column 9)+ _lhsOannotatedTree =+ SelectList ann_+ _itemsIannotatedTree+ -- self rule+ _annotatedTree =+ SelectList ann_ _itemsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ SelectList ann_ _itemsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ SelectList ann_ _itemsIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _itemsOcat =+ _lhsIcat+ -- copy rule (down)+ _itemsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _itemsOlib =+ _lhsIlib+ ( _itemsIannotatedTree,_itemsIfixedUpIdentifiersTree,_itemsIlistType,_itemsIoriginalTree) =+ items_ _itemsOcat _itemsOidenv _itemsOlib + in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOlistType,_lhsOoriginalTree)))+-- SetClause ---------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ tbName : String+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative MultiSetClause:+ child ann : {Annotation}+ child setTargets : {[NameComponent]}+ child ex : ScalarExpr + visit 0:+ local targType : {E Type}+ local e : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative SetClause:+ child ann : {Annotation}+ child setTarget : {NameComponent}+ child ex : ScalarExpr + visit 0:+ local targType : {E Type}+ local e : {E ()}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data SetClause = MultiSetClause (Annotation) (([NameComponent])) (ScalarExpr ) + | SetClause (Annotation) (NameComponent) (ScalarExpr ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_SetClause :: SetClause ->+ T_SetClause +sem_SetClause (MultiSetClause _ann _setTargets _ex ) =+ (sem_SetClause_MultiSetClause _ann _setTargets (sem_ScalarExpr _ex ) )+sem_SetClause (SetClause _ann _setTarget _ex ) =+ (sem_SetClause_SetClause _ann _setTarget (sem_ScalarExpr _ex ) )+-- semantic domain+type T_SetClause = Catalog ->+ IDEnv ->+ LocalBindings ->+ String ->+ ( SetClause ,SetClause ,SetClause )+data Inh_SetClause = Inh_SetClause {cat_Inh_SetClause :: Catalog,idenv_Inh_SetClause :: IDEnv,lib_Inh_SetClause :: LocalBindings,tbName_Inh_SetClause :: String}+data Syn_SetClause = Syn_SetClause {annotatedTree_Syn_SetClause :: SetClause ,fixedUpIdentifiersTree_Syn_SetClause :: SetClause ,originalTree_Syn_SetClause :: SetClause }+wrap_SetClause :: T_SetClause ->+ Inh_SetClause ->+ Syn_SetClause +wrap_SetClause sem (Inh_SetClause _lhsIcat _lhsIidenv _lhsIlib _lhsItbName ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib _lhsItbName + in (Syn_SetClause _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_SetClause_MultiSetClause :: Annotation ->+ ([NameComponent]) ->+ T_ScalarExpr ->+ T_SetClause +sem_SetClause_MultiSetClause ann_ setTargets_ ex_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib+ _lhsItbName ->+ (let _targType :: (E Type)+ _exOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: SetClause + _lhsOfixedUpIdentifiersTree :: SetClause + _lhsOoriginalTree :: SetClause + _exOcat :: Catalog+ _exOidenv :: IDEnv+ _exOlib :: LocalBindings+ _exIannotatedTree :: ScalarExpr + _exIfixedUpIdentifiersTree :: ScalarExpr + _exIoriginalTree :: ScalarExpr + _exIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 77, column 9)+ _targType =+ do+ let etargTypes :: [E (Maybe Type)]+ etargTypes = map (lookupLocalBinding _lhsIlib _lhsItbName . ncStr) setTargets_+ concatLefts etargTypes+ targTypes <- lmt $ sequence $ rights etargTypes+ return $ AnonymousRecordType targTypes+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 84, column 9)+ _e =+ do+ tt <- _targType+ exType <- lmt _exIuType+ checkAssignmentValid _lhsIcat exType tt+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 88, column 9)+ _exOexpectedType =+ etmt _targType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 89, column 9)+ _backTree =+ MultiSetClause ann_ setTargets_ _exIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 93, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {errs = errs a ++ tes _e })+ _backTree+ -- self rule+ _annotatedTree =+ MultiSetClause ann_ setTargets_ _exIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ MultiSetClause ann_ setTargets_ _exIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ MultiSetClause ann_ setTargets_ _exIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exOcat =+ _lhsIcat+ -- copy rule (down)+ _exOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exOlib =+ _lhsIlib+ ( _exIannotatedTree,_exIfixedUpIdentifiersTree,_exIoriginalTree,_exIuType) =+ ex_ _exOcat _exOexpectedType _exOidenv _exOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_SetClause_SetClause :: Annotation ->+ NameComponent ->+ T_ScalarExpr ->+ T_SetClause +sem_SetClause_SetClause ann_ setTarget_ ex_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib+ _lhsItbName ->+ (let _targType :: (E Type)+ _e :: (E ())+ _exOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: SetClause + _lhsOfixedUpIdentifiersTree :: SetClause + _lhsOoriginalTree :: SetClause + _exOcat :: Catalog+ _exOidenv :: IDEnv+ _exOlib :: LocalBindings+ _exIannotatedTree :: ScalarExpr + _exIfixedUpIdentifiersTree :: ScalarExpr + _exIoriginalTree :: ScalarExpr + _exIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 64, column 9)+ _targType =+ case lookupLocalBinding _lhsIlib _lhsItbName $ ncStr setTarget_ of+ Right Nothing -> Left []+ Right (Just t) -> Right t+ Left e -> Left e+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 69, column 9)+ _e =+ do+ tt <- _targType+ exType <- lmt _exIuType+ checkAssignmentValid _lhsIcat exType tt+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 73, column 9)+ _exOexpectedType =+ etmt _targType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 74, column 9)+ _backTree =+ SetClause ann_ setTarget_ _exIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 93, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {errs = errs a ++ tes _e })+ _backTree+ -- self rule+ _annotatedTree =+ SetClause ann_ setTarget_ _exIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ SetClause ann_ setTarget_ _exIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ SetClause ann_ setTarget_ _exIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exOcat =+ _lhsIcat+ -- copy rule (down)+ _exOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exOlib =+ _lhsIlib+ ( _exIannotatedTree,_exIfixedUpIdentifiersTree,_exIoriginalTree,_exIuType) =+ ex_ _exOcat _exOexpectedType _exOidenv _exOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- SetClauseList -----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ tbName : String+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Cons:+ child hd : SetClause + child tl : SetClauseList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type SetClauseList = [SetClause ]+-- cata+sem_SetClauseList :: SetClauseList ->+ T_SetClauseList +sem_SetClauseList list =+ (Prelude.foldr sem_SetClauseList_Cons sem_SetClauseList_Nil (Prelude.map sem_SetClause list) )+-- semantic domain+type T_SetClauseList = Catalog ->+ IDEnv ->+ LocalBindings ->+ String ->+ ( SetClauseList ,SetClauseList ,SetClauseList )+data Inh_SetClauseList = Inh_SetClauseList {cat_Inh_SetClauseList :: Catalog,idenv_Inh_SetClauseList :: IDEnv,lib_Inh_SetClauseList :: LocalBindings,tbName_Inh_SetClauseList :: String}+data Syn_SetClauseList = Syn_SetClauseList {annotatedTree_Syn_SetClauseList :: SetClauseList ,fixedUpIdentifiersTree_Syn_SetClauseList :: SetClauseList ,originalTree_Syn_SetClauseList :: SetClauseList }+wrap_SetClauseList :: T_SetClauseList ->+ Inh_SetClauseList ->+ Syn_SetClauseList +wrap_SetClauseList sem (Inh_SetClauseList _lhsIcat _lhsIidenv _lhsIlib _lhsItbName ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib _lhsItbName + in (Syn_SetClauseList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_SetClauseList_Cons :: T_SetClause ->+ T_SetClauseList ->+ T_SetClauseList +sem_SetClauseList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib+ _lhsItbName ->+ (let _lhsOannotatedTree :: SetClauseList + _lhsOfixedUpIdentifiersTree :: SetClauseList + _lhsOoriginalTree :: SetClauseList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _hdOtbName :: String+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _tlOtbName :: String+ _hdIannotatedTree :: SetClause + _hdIfixedUpIdentifiersTree :: SetClause + _hdIoriginalTree :: SetClause + _tlIannotatedTree :: SetClauseList + _tlIfixedUpIdentifiersTree :: SetClauseList + _tlIoriginalTree :: SetClauseList + -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _hdOtbName =+ _lhsItbName+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOtbName =+ _lhsItbName+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib _hdOtbName + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib _tlOtbName + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_SetClauseList_Nil :: T_SetClauseList +sem_SetClauseList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib+ _lhsItbName ->+ (let _lhsOannotatedTree :: SetClauseList + _lhsOfixedUpIdentifiersTree :: SetClauseList + _lhsOoriginalTree :: SetClauseList + -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- Statement ---------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ inProducedCat : Catalog+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + catUpdates : [CatalogUpdate]+ fixedUpIdentifiersTree : SELF + libUpdates : [LocalBindingsUpdate]+ originalTree : SELF + alternatives:+ alternative AlterSequence:+ child ann : {Annotation}+ child name : Name + child ownedBy : Name + visit 0:+ local libUpdates : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative AlterTable:+ child ann : {Annotation}+ child name : Name + child actions : AlterTableActionList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative AntiStatement:+ child string : {String}+ visit 0:+ local libUpdates : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Assignment:+ child ann : {Annotation}+ child target : Name + child value : ScalarExpr + visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local backTree : _+ local catUpdates : {[CatalogUpdate]}+ local statementType : {Maybe ParameterizedStatementType}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Block:+ child ann : {Annotation}+ child lb : {Maybe String}+ child vars : VarDefList + child sts : StatementList + visit 0:+ local libUpdates : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CaseStatement:+ child ann : {Annotation}+ child cases : ScalarExprListStatementListPairList + child els : StatementList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CaseStatementSimple:+ child ann : {Annotation}+ child val : ScalarExpr + child cases : ScalarExprListStatementListPairList + child els : StatementList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative ContinueStatement:+ child ann : {Annotation}+ child lb : {Maybe String}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Copy:+ child ann : {Annotation}+ child table : Name + child targetCols : {[NameComponent]}+ child source : {CopySource}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CopyData:+ child ann : {Annotation}+ child insData : {String}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CreateDomain:+ child ann : {Annotation}+ child name : Name + child typ : TypeName + child constraintName : {String}+ child check : MaybeBoolExpr + visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local backTree : _+ local statementType : {Maybe ParameterizedStatementType}+ local catUpdates : {[CatalogUpdate]}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CreateFunction:+ child ann : {Annotation}+ child name : Name + child params : ParamDefList + child rettype : TypeName + child rep : {Replace}+ child lang : {Language}+ child body : FnBody + child vol : {Volatility}+ visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local catUpdates : {[CatalogUpdate]}+ local backTree : _+ local statementType : {Maybe ParameterizedStatementType}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CreateLanguage:+ child ann : {Annotation}+ child name : {String}+ visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local backTree : _+ local statementType : {Maybe ParameterizedStatementType}+ local catUpdates : {[CatalogUpdate]}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CreateSequence:+ child ann : {Annotation}+ child name : Name + child incr : {Integer}+ child min : {Integer}+ child max : {Integer}+ child start : {Integer}+ child cache : {Integer}+ visit 0:+ local libUpdates : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CreateTable:+ child ann : {Annotation}+ child name : Name + child atts : AttributeDefList + child cons : ConstraintList + visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local catUpdates : {[CatalogUpdate]}+ local attrs : {[(String,Type)]}+ local statementType : {Maybe ParameterizedStatementType}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CreateTableAs:+ child ann : {Annotation}+ child name : Name + child expr : QueryExpr + visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local catUpdates : {[CatalogUpdate]}+ local attrs : {Either [TypeError] [(String,Type)]}+ local backTree : _+ local statementType : {Maybe ParameterizedStatementType}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CreateTrigger:+ child ann : {Annotation}+ child name : {NameComponent}+ child wh : {TriggerWhen}+ child events : {[TriggerEvent]}+ child tbl : Name + child firing : {TriggerFire}+ child fnName : Name + child fnArgs : ScalarExprList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CreateType:+ child ann : {Annotation}+ child name : Name + child atts : TypeAttributeDefList + visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local attrs : _+ local backTree : _+ local statementType : {Maybe ParameterizedStatementType}+ local catUpdates : {[CatalogUpdate]}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative CreateView:+ child ann : {Annotation}+ child name : Name + child colNames : {MaybeNameComponentList}+ child expr : QueryExpr + visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local backTree : _+ local catUpdates : {[CatalogUpdate]}+ local statementType : {Maybe ParameterizedStatementType}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Delete:+ child ann : {Annotation}+ child table : Name + child using : TableRefList + child whr : MaybeBoolExpr + child returning : MaybeSelectList + visit 0:+ local trefEnv : _+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local statementType : {Maybe ParameterizedStatementType}+ local backTree : _+ local catUpdates : {[CatalogUpdate]}+ local lib : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative DropFunction:+ child ann : {Annotation}+ child ifE : {IfExists}+ child sigs : NameTypeNameListPairList + child cascade : {Cascade}+ visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local backTree : _+ local catUpdates : {[CatalogUpdate]}+ local statementType : {Maybe ParameterizedStatementType}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative DropSomething:+ child ann : {Annotation}+ child dropType : {DropType}+ child ifE : {IfExists}+ child names : {[Name]}+ child cascade : {Cascade}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Execute:+ child ann : {Annotation}+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative ExitStatement:+ child ann : {Annotation}+ child lb : {Maybe String}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative ForIntegerStatement:+ child ann : {Annotation}+ child lb : {Maybe String}+ child var : {NameComponent}+ child from : ScalarExpr + child to : ScalarExpr + child sts : StatementList + visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local backTree : _+ local catUpdates : {[CatalogUpdate]}+ local statementType : {Maybe ParameterizedStatementType}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative ForQueryStatement:+ child ann : {Annotation}+ child lb : {Maybe String}+ child var : {NameComponent}+ child sel : QueryExpr + child sts : StatementList + visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local backTree : _+ local catUpdates : {[CatalogUpdate]}+ local statementType : {Maybe ParameterizedStatementType}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative If:+ child ann : {Annotation}+ child cases : ScalarExprStatementListPairList + child els : StatementList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Insert:+ child ann : {Annotation}+ child table : Name + child targetCols : {[NameComponent]}+ child insData : QueryExpr + child returning : MaybeSelectList + visit 0:+ local trefEnv : _+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local statementType : {Maybe ParameterizedStatementType}+ local columnTypes : {Either [TypeError] [(String,Type)]}+ local backTree : _+ local catUpdates : {[CatalogUpdate]}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Into:+ child ann : {Annotation}+ child strict : {Bool}+ child into : {[Name]}+ child stmt : Statement + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative LoopStatement:+ child ann : {Annotation}+ child lb : {Maybe String}+ child sts : StatementList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Notify:+ child ann : {Annotation}+ child name : {String}+ visit 0:+ local libUpdates : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative NullStatement:+ child ann : {Annotation}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Perform:+ child ann : {Annotation}+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative QueryStatement:+ child ann : {Annotation}+ child ex : QueryExpr + visit 0:+ local tpe : {Either [TypeError] Type}+ local statementType : {Maybe ParameterizedStatementType}+ local backTree : _+ local catUpdates : {[CatalogUpdate]}+ local libUpdates : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Raise:+ child ann : {Annotation}+ child level : {RaiseType}+ child message : {String}+ child args : ScalarExprList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Return:+ child ann : {Annotation}+ child value : MaybeScalarExpr + visit 0:+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local backTree : _+ local catUpdates : {[CatalogUpdate]}+ local statementType : {Maybe ParameterizedStatementType}+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative ReturnNext:+ child ann : {Annotation}+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative ReturnQuery:+ child ann : {Annotation}+ child sel : QueryExpr + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Set:+ child ann : {Annotation}+ child name : {String}+ child values : {[SetValue]}+ visit 0:+ local libUpdates : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Truncate:+ child ann : {Annotation}+ child tables : {[Name]}+ child restartIdentity : {RestartIdentity}+ child cascade : {Cascade}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Update:+ child ann : {Annotation}+ child table : Name + child assigns : SetClauseList + child fromList : TableRefList + child whr : MaybeBoolExpr + child returning : MaybeSelectList + visit 0:+ local trefEnv : _+ local libUpdates : _+ local tpe : {Either [TypeError] Type}+ local statementType : {Maybe ParameterizedStatementType}+ local backTree : _+ local catUpdates : {[CatalogUpdate]}+ local lib : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative WhileStatement:+ child ann : {Annotation}+ child lb : {Maybe String}+ child expr : ScalarExpr + child sts : StatementList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data Statement = AlterSequence (Annotation) (Name ) (Name ) + | AlterTable (Annotation) (Name ) (AlterTableActionList ) + | AntiStatement (String) + | Assignment (Annotation) (Name ) (ScalarExpr ) + | Block (Annotation) ((Maybe String)) (VarDefList ) (StatementList ) + | CaseStatement (Annotation) (ScalarExprListStatementListPairList ) (StatementList ) + | CaseStatementSimple (Annotation) (ScalarExpr ) (ScalarExprListStatementListPairList ) (StatementList ) + | ContinueStatement (Annotation) ((Maybe String)) + | Copy (Annotation) (Name ) (([NameComponent])) (CopySource) + | CopyData (Annotation) (String) + | CreateDomain (Annotation) (Name ) (TypeName ) (String) (MaybeBoolExpr ) + | CreateFunction (Annotation) (Name ) (ParamDefList ) (TypeName ) (Replace) (Language) (FnBody ) (Volatility) + | CreateLanguage (Annotation) (String) + | CreateSequence (Annotation) (Name ) (Integer) (Integer) (Integer) (Integer) (Integer) + | CreateTable (Annotation) (Name ) (AttributeDefList ) (ConstraintList ) + | CreateTableAs (Annotation) (Name ) (QueryExpr ) + | CreateTrigger (Annotation) (NameComponent) (TriggerWhen) (([TriggerEvent])) (Name ) (TriggerFire) (Name ) (ScalarExprList ) + | CreateType (Annotation) (Name ) (TypeAttributeDefList ) + | CreateView (Annotation) (Name ) (MaybeNameComponentList) (QueryExpr ) + | Delete (Annotation) (Name ) (TableRefList ) (MaybeBoolExpr ) (MaybeSelectList ) + | DropFunction (Annotation) (IfExists) (NameTypeNameListPairList ) (Cascade) + | DropSomething (Annotation) (DropType) (IfExists) (([Name])) (Cascade) + | Execute (Annotation) (ScalarExpr ) + | ExitStatement (Annotation) ((Maybe String)) + | ForIntegerStatement (Annotation) ((Maybe String)) (NameComponent) (ScalarExpr ) (ScalarExpr ) (StatementList ) + | ForQueryStatement (Annotation) ((Maybe String)) (NameComponent) (QueryExpr ) (StatementList ) + | If (Annotation) (ScalarExprStatementListPairList ) (StatementList ) + | Insert (Annotation) (Name ) (([NameComponent])) (QueryExpr ) (MaybeSelectList ) + | Into (Annotation) (Bool) (([Name])) (Statement ) + | LoopStatement (Annotation) ((Maybe String)) (StatementList ) + | Notify (Annotation) (String) + | NullStatement (Annotation) + | Perform (Annotation) (ScalarExpr ) + | QueryStatement (Annotation) (QueryExpr ) + | Raise (Annotation) (RaiseType) (String) (ScalarExprList ) + | Return (Annotation) (MaybeScalarExpr ) + | ReturnNext (Annotation) (ScalarExpr ) + | ReturnQuery (Annotation) (QueryExpr ) + | Set (Annotation) (String) (([SetValue])) + | Truncate (Annotation) (([Name])) (RestartIdentity) (Cascade) + | Update (Annotation) (Name ) (SetClauseList ) (TableRefList ) (MaybeBoolExpr ) (MaybeSelectList ) + | WhileStatement (Annotation) ((Maybe String)) (ScalarExpr ) (StatementList ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_Statement :: Statement ->+ T_Statement +sem_Statement (AlterSequence _ann _name _ownedBy ) =+ (sem_Statement_AlterSequence _ann (sem_Name _name ) (sem_Name _ownedBy ) )+sem_Statement (AlterTable _ann _name _actions ) =+ (sem_Statement_AlterTable _ann (sem_Name _name ) (sem_AlterTableActionList _actions ) )+sem_Statement (AntiStatement _string ) =+ (sem_Statement_AntiStatement _string )+sem_Statement (Assignment _ann _target _value ) =+ (sem_Statement_Assignment _ann (sem_Name _target ) (sem_ScalarExpr _value ) )+sem_Statement (Block _ann _lb _vars _sts ) =+ (sem_Statement_Block _ann _lb (sem_VarDefList _vars ) (sem_StatementList _sts ) )+sem_Statement (CaseStatement _ann _cases _els ) =+ (sem_Statement_CaseStatement _ann (sem_ScalarExprListStatementListPairList _cases ) (sem_StatementList _els ) )+sem_Statement (CaseStatementSimple _ann _val _cases _els ) =+ (sem_Statement_CaseStatementSimple _ann (sem_ScalarExpr _val ) (sem_ScalarExprListStatementListPairList _cases ) (sem_StatementList _els ) )+sem_Statement (ContinueStatement _ann _lb ) =+ (sem_Statement_ContinueStatement _ann _lb )+sem_Statement (Copy _ann _table _targetCols _source ) =+ (sem_Statement_Copy _ann (sem_Name _table ) _targetCols _source )+sem_Statement (CopyData _ann _insData ) =+ (sem_Statement_CopyData _ann _insData )+sem_Statement (CreateDomain _ann _name _typ _constraintName _check ) =+ (sem_Statement_CreateDomain _ann (sem_Name _name ) (sem_TypeName _typ ) _constraintName (sem_MaybeBoolExpr _check ) )+sem_Statement (CreateFunction _ann _name _params _rettype _rep _lang _body _vol ) =+ (sem_Statement_CreateFunction _ann (sem_Name _name ) (sem_ParamDefList _params ) (sem_TypeName _rettype ) _rep _lang (sem_FnBody _body ) _vol )+sem_Statement (CreateLanguage _ann _name ) =+ (sem_Statement_CreateLanguage _ann _name )+sem_Statement (CreateSequence _ann _name _incr _min _max _start _cache ) =+ (sem_Statement_CreateSequence _ann (sem_Name _name ) _incr _min _max _start _cache )+sem_Statement (CreateTable _ann _name _atts _cons ) =+ (sem_Statement_CreateTable _ann (sem_Name _name ) (sem_AttributeDefList _atts ) (sem_ConstraintList _cons ) )+sem_Statement (CreateTableAs _ann _name _expr ) =+ (sem_Statement_CreateTableAs _ann (sem_Name _name ) (sem_QueryExpr _expr ) )+sem_Statement (CreateTrigger _ann _name _wh _events _tbl _firing _fnName _fnArgs ) =+ (sem_Statement_CreateTrigger _ann _name _wh _events (sem_Name _tbl ) _firing (sem_Name _fnName ) (sem_ScalarExprList _fnArgs ) )+sem_Statement (CreateType _ann _name _atts ) =+ (sem_Statement_CreateType _ann (sem_Name _name ) (sem_TypeAttributeDefList _atts ) )+sem_Statement (CreateView _ann _name _colNames _expr ) =+ (sem_Statement_CreateView _ann (sem_Name _name ) _colNames (sem_QueryExpr _expr ) )+sem_Statement (Delete _ann _table _using _whr _returning ) =+ (sem_Statement_Delete _ann (sem_Name _table ) (sem_TableRefList _using ) (sem_MaybeBoolExpr _whr ) (sem_MaybeSelectList _returning ) )+sem_Statement (DropFunction _ann _ifE _sigs _cascade ) =+ (sem_Statement_DropFunction _ann _ifE (sem_NameTypeNameListPairList _sigs ) _cascade )+sem_Statement (DropSomething _ann _dropType _ifE _names _cascade ) =+ (sem_Statement_DropSomething _ann _dropType _ifE _names _cascade )+sem_Statement (Execute _ann _expr ) =+ (sem_Statement_Execute _ann (sem_ScalarExpr _expr ) )+sem_Statement (ExitStatement _ann _lb ) =+ (sem_Statement_ExitStatement _ann _lb )+sem_Statement (ForIntegerStatement _ann _lb _var _from _to _sts ) =+ (sem_Statement_ForIntegerStatement _ann _lb _var (sem_ScalarExpr _from ) (sem_ScalarExpr _to ) (sem_StatementList _sts ) )+sem_Statement (ForQueryStatement _ann _lb _var _sel _sts ) =+ (sem_Statement_ForQueryStatement _ann _lb _var (sem_QueryExpr _sel ) (sem_StatementList _sts ) )+sem_Statement (If _ann _cases _els ) =+ (sem_Statement_If _ann (sem_ScalarExprStatementListPairList _cases ) (sem_StatementList _els ) )+sem_Statement (Insert _ann _table _targetCols _insData _returning ) =+ (sem_Statement_Insert _ann (sem_Name _table ) _targetCols (sem_QueryExpr _insData ) (sem_MaybeSelectList _returning ) )+sem_Statement (Into _ann _strict _into _stmt ) =+ (sem_Statement_Into _ann _strict _into (sem_Statement _stmt ) )+sem_Statement (LoopStatement _ann _lb _sts ) =+ (sem_Statement_LoopStatement _ann _lb (sem_StatementList _sts ) )+sem_Statement (Notify _ann _name ) =+ (sem_Statement_Notify _ann _name )+sem_Statement (NullStatement _ann ) =+ (sem_Statement_NullStatement _ann )+sem_Statement (Perform _ann _expr ) =+ (sem_Statement_Perform _ann (sem_ScalarExpr _expr ) )+sem_Statement (QueryStatement _ann _ex ) =+ (sem_Statement_QueryStatement _ann (sem_QueryExpr _ex ) )+sem_Statement (Raise _ann _level _message _args ) =+ (sem_Statement_Raise _ann _level _message (sem_ScalarExprList _args ) )+sem_Statement (Return _ann _value ) =+ (sem_Statement_Return _ann (sem_MaybeScalarExpr _value ) )+sem_Statement (ReturnNext _ann _expr ) =+ (sem_Statement_ReturnNext _ann (sem_ScalarExpr _expr ) )+sem_Statement (ReturnQuery _ann _sel ) =+ (sem_Statement_ReturnQuery _ann (sem_QueryExpr _sel ) )+sem_Statement (Set _ann _name _values ) =+ (sem_Statement_Set _ann _name _values )+sem_Statement (Truncate _ann _tables _restartIdentity _cascade ) =+ (sem_Statement_Truncate _ann _tables _restartIdentity _cascade )+sem_Statement (Update _ann _table _assigns _fromList _whr _returning ) =+ (sem_Statement_Update _ann (sem_Name _table ) (sem_SetClauseList _assigns ) (sem_TableRefList _fromList ) (sem_MaybeBoolExpr _whr ) (sem_MaybeSelectList _returning ) )+sem_Statement (WhileStatement _ann _lb _expr _sts ) =+ (sem_Statement_WhileStatement _ann _lb (sem_ScalarExpr _expr ) (sem_StatementList _sts ) )+-- semantic domain+type T_Statement = Catalog ->+ IDEnv ->+ Catalog ->+ LocalBindings ->+ ( Statement ,([CatalogUpdate]),Statement ,([LocalBindingsUpdate]),Statement )+data Inh_Statement = Inh_Statement {cat_Inh_Statement :: Catalog,idenv_Inh_Statement :: IDEnv,inProducedCat_Inh_Statement :: Catalog,lib_Inh_Statement :: LocalBindings}+data Syn_Statement = Syn_Statement {annotatedTree_Syn_Statement :: Statement ,catUpdates_Syn_Statement :: ([CatalogUpdate]),fixedUpIdentifiersTree_Syn_Statement :: Statement ,libUpdates_Syn_Statement :: ([LocalBindingsUpdate]),originalTree_Syn_Statement :: Statement }+wrap_Statement :: T_Statement ->+ Inh_Statement ->+ Syn_Statement +wrap_Statement sem (Inh_Statement _lhsIcat _lhsIidenv _lhsIinProducedCat _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIinProducedCat _lhsIlib + in (Syn_Statement _lhsOannotatedTree _lhsOcatUpdates _lhsOfixedUpIdentifiersTree _lhsOlibUpdates _lhsOoriginalTree ))+sem_Statement_AlterSequence :: Annotation ->+ T_Name ->+ T_Name ->+ T_Statement +sem_Statement_AlterSequence ann_ name_ ownedBy_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _nameOcat :: Catalog+ _nameOidenv :: IDEnv+ _nameOlib :: LocalBindings+ _ownedByOcat :: Catalog+ _ownedByOidenv :: IDEnv+ _ownedByOlib :: LocalBindings+ _nameIannotatedTree :: Name + _nameIfixedUpIdentifiersTree :: Name + _nameIoriginalTree :: Name + _nameItbAnnotatedTree :: Name + _nameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _ownedByIannotatedTree :: Name + _ownedByIfixedUpIdentifiersTree :: Name + _ownedByIoriginalTree :: Name + _ownedByItbAnnotatedTree :: Name + _ownedByItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ AlterSequence ann_ _nameIannotatedTree _ownedByIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ AlterSequence ann_ _nameIfixedUpIdentifiersTree _ownedByIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ AlterSequence ann_ _nameIoriginalTree _ownedByIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _nameOcat =+ _lhsIcat+ -- copy rule (down)+ _nameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _nameOlib =+ _lhsIlib+ -- copy rule (down)+ _ownedByOcat =+ _lhsIcat+ -- copy rule (down)+ _ownedByOidenv =+ _lhsIidenv+ -- copy rule (down)+ _ownedByOlib =+ _lhsIlib+ ( _nameIannotatedTree,_nameIfixedUpIdentifiersTree,_nameIoriginalTree,_nameItbAnnotatedTree,_nameItbUType) =+ name_ _nameOcat _nameOidenv _nameOlib + ( _ownedByIannotatedTree,_ownedByIfixedUpIdentifiersTree,_ownedByIoriginalTree,_ownedByItbAnnotatedTree,_ownedByItbUType) =+ ownedBy_ _ownedByOcat _ownedByOidenv _ownedByOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_AlterTable :: Annotation ->+ T_Name ->+ T_AlterTableActionList ->+ T_Statement +sem_Statement_AlterTable ann_ name_ actions_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _nameOcat :: Catalog+ _nameOidenv :: IDEnv+ _nameOlib :: LocalBindings+ _actionsOcat :: Catalog+ _actionsOidenv :: IDEnv+ _actionsOlib :: LocalBindings+ _nameIannotatedTree :: Name + _nameIfixedUpIdentifiersTree :: Name + _nameIoriginalTree :: Name + _nameItbAnnotatedTree :: Name + _nameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _actionsIannotatedTree :: AlterTableActionList + _actionsIfixedUpIdentifiersTree :: AlterTableActionList + _actionsIoriginalTree :: AlterTableActionList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ AlterTable ann_ _nameIannotatedTree _actionsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ AlterTable ann_ _nameIfixedUpIdentifiersTree _actionsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ AlterTable ann_ _nameIoriginalTree _actionsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _nameOcat =+ _lhsIcat+ -- copy rule (down)+ _nameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _nameOlib =+ _lhsIlib+ -- copy rule (down)+ _actionsOcat =+ _lhsIcat+ -- copy rule (down)+ _actionsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _actionsOlib =+ _lhsIlib+ ( _nameIannotatedTree,_nameIfixedUpIdentifiersTree,_nameIoriginalTree,_nameItbAnnotatedTree,_nameItbUType) =+ name_ _nameOcat _nameOidenv _nameOlib + ( _actionsIannotatedTree,_actionsIfixedUpIdentifiersTree,_actionsIoriginalTree) =+ actions_ _actionsOcat _actionsOidenv _actionsOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_AntiStatement :: String ->+ T_Statement +sem_Statement_AntiStatement string_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ AntiStatement string_+ -- self rule+ _fixedUpIdentifiersTree =+ AntiStatement string_+ -- self rule+ _originalTree =+ AntiStatement string_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Assignment :: Annotation ->+ T_Name ->+ T_ScalarExpr ->+ T_Statement +sem_Statement_Assignment ann_ target_ value_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _catUpdates :: ([CatalogUpdate])+ _statementType :: (Maybe ParameterizedStatementType)+ _valueOexpectedType :: (Maybe Type)+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _targetOcat :: Catalog+ _targetOidenv :: IDEnv+ _targetOlib :: LocalBindings+ _valueOcat :: Catalog+ _valueOidenv :: IDEnv+ _valueOlib :: LocalBindings+ _targetIannotatedTree :: Name + _targetIfixedUpIdentifiersTree :: Name + _targetIoriginalTree :: Name + _targetItbAnnotatedTree :: Name + _targetItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _valueIannotatedTree :: ScalarExpr + _valueIfixedUpIdentifiersTree :: ScalarExpr + _valueIoriginalTree :: ScalarExpr + _valueIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 20, column 9)+ _tpe =+ Left []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 27, column 9)+ _backTree =+ Assignment ann_ _targetIannotatedTree _valueIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 28, column 9)+ _catUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 29, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 109, column 18)+ _valueOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ Assignment ann_ _targetIannotatedTree _valueIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Assignment ann_ _targetIfixedUpIdentifiersTree _valueIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Assignment ann_ _targetIoriginalTree _valueIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _targetOcat =+ _lhsIcat+ -- copy rule (down)+ _targetOidenv =+ _lhsIidenv+ -- copy rule (down)+ _targetOlib =+ _lhsIlib+ -- copy rule (down)+ _valueOcat =+ _lhsIcat+ -- copy rule (down)+ _valueOidenv =+ _lhsIidenv+ -- copy rule (down)+ _valueOlib =+ _lhsIlib+ ( _targetIannotatedTree,_targetIfixedUpIdentifiersTree,_targetIoriginalTree,_targetItbAnnotatedTree,_targetItbUType) =+ target_ _targetOcat _targetOidenv _targetOlib + ( _valueIannotatedTree,_valueIfixedUpIdentifiersTree,_valueIoriginalTree,_valueIuType) =+ value_ _valueOcat _valueOexpectedType _valueOidenv _valueOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Block :: Annotation ->+ (Maybe String) ->+ T_VarDefList ->+ T_StatementList ->+ T_Statement +sem_Statement_Block ann_ lb_ vars_ sts_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _stsOcatUpdates :: ([CatalogUpdate])+ _stsOlib :: LocalBindings+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _varsOcat :: Catalog+ _varsOidenv :: IDEnv+ _varsOlib :: LocalBindings+ _stsOcat :: Catalog+ _stsOidenv :: IDEnv+ _stsOlibUpdates :: ([LocalBindingsUpdate])+ _varsIannotatedTree :: VarDefList + _varsIdefs :: ([(String,Maybe Type)])+ _varsIfixedUpIdentifiersTree :: VarDefList + _varsIoriginalTree :: VarDefList + _stsIannotatedTree :: StatementList + _stsIfixedUpIdentifiersTree :: StatementList + _stsIoriginalTree :: StatementList + _stsIproducedCat :: Catalog+ _stsIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 100, column 13)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 101, column 13)+ _stsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 22, column 9)+ _stsOlib =+ fromRight _lhsIlib $+ lbUpdate _lhsIcat+ (LBIds "declarations" lb_ $ mapMaybe lv _varsIdefs)+ _lhsIlib+ where+ lv (_,Nothing) = Nothing+ lv (s,Just t) = Just (s,t)+ -- self rule+ _annotatedTree =+ Block ann_ lb_ _varsIannotatedTree _stsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Block ann_ lb_ _varsIfixedUpIdentifiersTree _stsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Block ann_ lb_ _varsIoriginalTree _stsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (from local)+ _lhsOlibUpdates =+ _libUpdates+ -- copy rule (down)+ _varsOcat =+ _lhsIcat+ -- copy rule (down)+ _varsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _varsOlib =+ _lhsIlib+ -- copy rule (down)+ _stsOcat =+ _lhsIcat+ -- copy rule (down)+ _stsOidenv =+ _lhsIidenv+ -- copy rule (from local)+ _stsOlibUpdates =+ _libUpdates+ ( _varsIannotatedTree,_varsIdefs,_varsIfixedUpIdentifiersTree,_varsIoriginalTree) =+ vars_ _varsOcat _varsOidenv _varsOlib + ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =+ sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CaseStatement :: Annotation ->+ T_ScalarExprListStatementListPairList ->+ T_StatementList ->+ T_Statement +sem_Statement_CaseStatement ann_ cases_ els_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _elsOcatUpdates :: ([CatalogUpdate])+ _elsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _casesOcat :: Catalog+ _casesOidenv :: IDEnv+ _casesOlib :: LocalBindings+ _elsOcat :: Catalog+ _elsOidenv :: IDEnv+ _elsOlib :: LocalBindings+ _casesIannotatedTree :: ScalarExprListStatementListPairList + _casesIfixedUpIdentifiersTree :: ScalarExprListStatementListPairList + _casesIoriginalTree :: ScalarExprListStatementListPairList + _elsIannotatedTree :: StatementList + _elsIfixedUpIdentifiersTree :: StatementList + _elsIoriginalTree :: StatementList + _elsIproducedCat :: Catalog+ _elsIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 134, column 9)+ _elsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 135, column 9)+ _elsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ CaseStatement ann_ _casesIannotatedTree _elsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CaseStatement ann_ _casesIfixedUpIdentifiersTree _elsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CaseStatement ann_ _casesIoriginalTree _elsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _casesOcat =+ _lhsIcat+ -- copy rule (down)+ _casesOidenv =+ _lhsIidenv+ -- copy rule (down)+ _casesOlib =+ _lhsIlib+ -- copy rule (down)+ _elsOcat =+ _lhsIcat+ -- copy rule (down)+ _elsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _elsOlib =+ _lhsIlib+ ( _casesIannotatedTree,_casesIfixedUpIdentifiersTree,_casesIoriginalTree) =+ cases_ _casesOcat _casesOidenv _casesOlib + ( _elsIannotatedTree,_elsIfixedUpIdentifiersTree,_elsIoriginalTree,_elsIproducedCat,_elsIproducedLib) =+ els_ _elsOcat _elsOcatUpdates _elsOidenv _elsOlib _elsOlibUpdates + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CaseStatementSimple :: Annotation ->+ T_ScalarExpr ->+ T_ScalarExprListStatementListPairList ->+ T_StatementList ->+ T_Statement +sem_Statement_CaseStatementSimple ann_ val_ cases_ els_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _elsOcatUpdates :: ([CatalogUpdate])+ _elsOlibUpdates :: ([LocalBindingsUpdate])+ _valOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _valOcat :: Catalog+ _valOidenv :: IDEnv+ _valOlib :: LocalBindings+ _casesOcat :: Catalog+ _casesOidenv :: IDEnv+ _casesOlib :: LocalBindings+ _elsOcat :: Catalog+ _elsOidenv :: IDEnv+ _elsOlib :: LocalBindings+ _valIannotatedTree :: ScalarExpr + _valIfixedUpIdentifiersTree :: ScalarExpr + _valIoriginalTree :: ScalarExpr + _valIuType :: (Maybe Type)+ _casesIannotatedTree :: ScalarExprListStatementListPairList + _casesIfixedUpIdentifiersTree :: ScalarExprListStatementListPairList + _casesIoriginalTree :: ScalarExprListStatementListPairList + _elsIannotatedTree :: StatementList + _elsIfixedUpIdentifiersTree :: StatementList + _elsIoriginalTree :: StatementList + _elsIproducedCat :: Catalog+ _elsIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 134, column 9)+ _elsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 135, column 9)+ _elsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 110, column 27)+ _valOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ CaseStatementSimple ann_ _valIannotatedTree _casesIannotatedTree _elsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CaseStatementSimple ann_ _valIfixedUpIdentifiersTree _casesIfixedUpIdentifiersTree _elsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CaseStatementSimple ann_ _valIoriginalTree _casesIoriginalTree _elsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _valOcat =+ _lhsIcat+ -- copy rule (down)+ _valOidenv =+ _lhsIidenv+ -- copy rule (down)+ _valOlib =+ _lhsIlib+ -- copy rule (down)+ _casesOcat =+ _lhsIcat+ -- copy rule (down)+ _casesOidenv =+ _lhsIidenv+ -- copy rule (down)+ _casesOlib =+ _lhsIlib+ -- copy rule (down)+ _elsOcat =+ _lhsIcat+ -- copy rule (down)+ _elsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _elsOlib =+ _lhsIlib+ ( _valIannotatedTree,_valIfixedUpIdentifiersTree,_valIoriginalTree,_valIuType) =+ val_ _valOcat _valOexpectedType _valOidenv _valOlib + ( _casesIannotatedTree,_casesIfixedUpIdentifiersTree,_casesIoriginalTree) =+ cases_ _casesOcat _casesOidenv _casesOlib + ( _elsIannotatedTree,_elsIfixedUpIdentifiersTree,_elsIoriginalTree,_elsIproducedCat,_elsIproducedLib) =+ els_ _elsOcat _elsOcatUpdates _elsOidenv _elsOlib _elsOlibUpdates + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_ContinueStatement :: Annotation ->+ (Maybe String) ->+ T_Statement +sem_Statement_ContinueStatement ann_ lb_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ ContinueStatement ann_ lb_+ -- self rule+ _fixedUpIdentifiersTree =+ ContinueStatement ann_ lb_+ -- self rule+ _originalTree =+ ContinueStatement ann_ lb_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Copy :: Annotation ->+ T_Name ->+ ([NameComponent]) ->+ CopySource ->+ T_Statement +sem_Statement_Copy ann_ table_ targetCols_ source_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _tableOcat :: Catalog+ _tableOidenv :: IDEnv+ _tableOlib :: LocalBindings+ _tableIannotatedTree :: Name + _tableIfixedUpIdentifiersTree :: Name + _tableIoriginalTree :: Name + _tableItbAnnotatedTree :: Name + _tableItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ Copy ann_ _tableIannotatedTree targetCols_ source_+ -- self rule+ _fixedUpIdentifiersTree =+ Copy ann_ _tableIfixedUpIdentifiersTree targetCols_ source_+ -- self rule+ _originalTree =+ Copy ann_ _tableIoriginalTree targetCols_ source_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _tableOcat =+ _lhsIcat+ -- copy rule (down)+ _tableOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tableOlib =+ _lhsIlib+ ( _tableIannotatedTree,_tableIfixedUpIdentifiersTree,_tableIoriginalTree,_tableItbAnnotatedTree,_tableItbUType) =+ table_ _tableOcat _tableOidenv _tableOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CopyData :: Annotation ->+ String ->+ T_Statement +sem_Statement_CopyData ann_ insData_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ CopyData ann_ insData_+ -- self rule+ _fixedUpIdentifiersTree =+ CopyData ann_ insData_+ -- self rule+ _originalTree =+ CopyData ann_ insData_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CreateDomain :: Annotation ->+ T_Name ->+ T_TypeName ->+ String ->+ T_MaybeBoolExpr ->+ T_Statement +sem_Statement_CreateDomain ann_ name_ typ_ constraintName_ check_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _statementType :: (Maybe ParameterizedStatementType)+ _catUpdates :: ([CatalogUpdate])+ _checkOlib :: LocalBindings+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _nameOcat :: Catalog+ _nameOidenv :: IDEnv+ _nameOlib :: LocalBindings+ _typOcat :: Catalog+ _typOidenv :: IDEnv+ _typOlib :: LocalBindings+ _checkOcat :: Catalog+ _checkOidenv :: IDEnv+ _nameIannotatedTree :: Name + _nameIfixedUpIdentifiersTree :: Name + _nameIoriginalTree :: Name + _nameItbAnnotatedTree :: Name + _nameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _typIannotatedTree :: TypeName + _typIfixedUpIdentifiersTree :: TypeName + _typInamedType :: (Maybe Type)+ _typIoriginalTree :: TypeName + _checkIannotatedTree :: MaybeBoolExpr + _checkIfixedUpIdentifiersTree :: MaybeBoolExpr + _checkIoriginalTree :: MaybeBoolExpr + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 65, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 66, column 9)+ _backTree =+ CreateDomain ann_ _nameIoriginalTree _typIannotatedTree constraintName_ _checkIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 67, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 68, column 9)+ _catUpdates =+ maybe [] (\t -> [CatCreateDomain (DomainType (getTName _nameIoriginalTree)) t]) _typInamedType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 70, column 9)+ _checkOlib =+ either (const _lhsIlib) id $ do+ nt <- lmt _typInamedType+ lbUpdate _lhsIcat+ (LBIds "domain check value" Nothing [("value", nt)])+ _lhsIlib+ -- self rule+ _annotatedTree =+ CreateDomain ann_ _nameIannotatedTree _typIannotatedTree constraintName_ _checkIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CreateDomain ann_ _nameIfixedUpIdentifiersTree _typIfixedUpIdentifiersTree constraintName_ _checkIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CreateDomain ann_ _nameIoriginalTree _typIoriginalTree constraintName_ _checkIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _nameOcat =+ _lhsIcat+ -- copy rule (down)+ _nameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _nameOlib =+ _lhsIlib+ -- copy rule (down)+ _typOcat =+ _lhsIcat+ -- copy rule (down)+ _typOidenv =+ _lhsIidenv+ -- copy rule (down)+ _typOlib =+ _lhsIlib+ -- copy rule (down)+ _checkOcat =+ _lhsIcat+ -- copy rule (down)+ _checkOidenv =+ _lhsIidenv+ ( _nameIannotatedTree,_nameIfixedUpIdentifiersTree,_nameIoriginalTree,_nameItbAnnotatedTree,_nameItbUType) =+ name_ _nameOcat _nameOidenv _nameOlib + ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =+ typ_ _typOcat _typOidenv _typOlib + ( _checkIannotatedTree,_checkIfixedUpIdentifiersTree,_checkIoriginalTree) =+ check_ _checkOcat _checkOidenv _checkOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CreateFunction :: Annotation ->+ T_Name ->+ T_ParamDefList ->+ T_TypeName ->+ Replace ->+ Language ->+ T_FnBody ->+ Volatility ->+ T_Statement +sem_Statement_CreateFunction ann_ name_ params_ rettype_ rep_ lang_ body_ vol_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _bodyOlib :: LocalBindings+ _paramsOpos :: Int+ _tpe :: (Either [TypeError] Type)+ _catUpdates :: ([CatalogUpdate])+ _statementType :: (Maybe ParameterizedStatementType)+ _bodyOcat :: Catalog+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _nameOcat :: Catalog+ _nameOidenv :: IDEnv+ _nameOlib :: LocalBindings+ _paramsOcat :: Catalog+ _paramsOidenv :: IDEnv+ _paramsOlib :: LocalBindings+ _rettypeOcat :: Catalog+ _rettypeOidenv :: IDEnv+ _rettypeOlib :: LocalBindings+ _bodyOidenv :: IDEnv+ _nameIannotatedTree :: Name + _nameIfixedUpIdentifiersTree :: Name + _nameIoriginalTree :: Name + _nameItbAnnotatedTree :: Name + _nameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _paramsIannotatedTree :: ParamDefList + _paramsIfixedUpIdentifiersTree :: ParamDefList + _paramsIoriginalTree :: ParamDefList + _paramsIparams :: ([(ParamName, Maybe Type)])+ _rettypeIannotatedTree :: TypeName + _rettypeIfixedUpIdentifiersTree :: TypeName + _rettypeInamedType :: (Maybe Type)+ _rettypeIoriginalTree :: TypeName + _bodyIannotatedTree :: FnBody + _bodyIfixedUpIdentifiersTree :: FnBody + _bodyIoriginalTree :: FnBody + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 63, column 9)+ _bodyOlib =+ either (const _lhsIlib) id $ do+ _ <- lmt _rettypeInamedType+ lbUpdate _lhsIcat (LBIds ((getTName _nameIoriginalTree) ++ " parameters") (Just (getTName _nameIoriginalTree)) paramsNoPos) _lhsIlib+ >>= lbUpdate _lhsIcat (LBIds ((getTName _nameIoriginalTree) ++ " parameters") Nothing paramsPosOnly)+ where+ paramsPosOnly :: [(String,Type)]+ paramsPosOnly = mapMaybe prm _paramsIparams+ prm :: (ParamName,Maybe Type) -> Maybe (String,Type)+ prm (NamedParam p _,Just t) = Just ("$" ++ show p, t)+ prm (UnnamedParam p,Just t) = Just ("$" ++ show p, t)+ prm _ = Nothing+ paramsNoPos :: [(String,Type)]+ paramsNoPos = mapMaybe pnp _paramsIparams+ pnp :: (ParamName,Maybe Type) -> Maybe (String,Type)+ pnp (NamedParam _ n,Just t) = Just (n,t)+ pnp _ = Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 79, column 9)+ _paramsOpos =+ 1+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 88, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 89, column 9)+ _catUpdates =+ either (const []) id $ do+ let ps = mapMaybe lpt _paramsIparams+ rt <- lmt _rettypeInamedType+ return [CatCreateFunction FunName+ (map toLower (getTName _nameIoriginalTree))+ ps+ rt+ False]+ where+ lpt (_,Just t) = Just t+ lpt _ = Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 101, column 9)+ _backTree =+ CreateFunction ann_+ _nameIoriginalTree+ _paramsIannotatedTree+ _rettypeIannotatedTree+ rep_+ lang_+ _bodyIannotatedTree+ vol_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 109, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateFunction.ag"(line 110, column 9)+ _bodyOcat =+ _lhsIinProducedCat+ -- self rule+ _annotatedTree =+ CreateFunction ann_ _nameIannotatedTree _paramsIannotatedTree _rettypeIannotatedTree rep_ lang_ _bodyIannotatedTree vol_+ -- self rule+ _fixedUpIdentifiersTree =+ CreateFunction ann_ _nameIfixedUpIdentifiersTree _paramsIfixedUpIdentifiersTree _rettypeIfixedUpIdentifiersTree rep_ lang_ _bodyIfixedUpIdentifiersTree vol_+ -- self rule+ _originalTree =+ CreateFunction ann_ _nameIoriginalTree _paramsIoriginalTree _rettypeIoriginalTree rep_ lang_ _bodyIoriginalTree vol_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _nameOcat =+ _lhsIcat+ -- copy rule (down)+ _nameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _nameOlib =+ _lhsIlib+ -- copy rule (down)+ _paramsOcat =+ _lhsIcat+ -- copy rule (down)+ _paramsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _paramsOlib =+ _lhsIlib+ -- copy rule (down)+ _rettypeOcat =+ _lhsIcat+ -- copy rule (down)+ _rettypeOidenv =+ _lhsIidenv+ -- copy rule (down)+ _rettypeOlib =+ _lhsIlib+ -- copy rule (down)+ _bodyOidenv =+ _lhsIidenv+ ( _nameIannotatedTree,_nameIfixedUpIdentifiersTree,_nameIoriginalTree,_nameItbAnnotatedTree,_nameItbUType) =+ name_ _nameOcat _nameOidenv _nameOlib + ( _paramsIannotatedTree,_paramsIfixedUpIdentifiersTree,_paramsIoriginalTree,_paramsIparams) =+ params_ _paramsOcat _paramsOidenv _paramsOlib _paramsOpos + ( _rettypeIannotatedTree,_rettypeIfixedUpIdentifiersTree,_rettypeInamedType,_rettypeIoriginalTree) =+ rettype_ _rettypeOcat _rettypeOidenv _rettypeOlib + ( _bodyIannotatedTree,_bodyIfixedUpIdentifiersTree,_bodyIoriginalTree) =+ body_ _bodyOcat _bodyOidenv _bodyOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CreateLanguage :: Annotation ->+ String ->+ T_Statement +sem_Statement_CreateLanguage ann_ name_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _statementType :: (Maybe ParameterizedStatementType)+ _catUpdates :: ([CatalogUpdate])+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 78, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 79, column 9)+ _backTree =+ CreateLanguage ann_ name_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 80, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 81, column 9)+ _catUpdates =+ [CatCreateFunction FunName "plpgsql_call_handler" [] (Pseudo LanguageHandler) False+ ,CatCreateFunction FunName "plpgsql_validator" [ScalarType "oid"] (Pseudo Void) False]+ -- self rule+ _annotatedTree =+ CreateLanguage ann_ name_+ -- self rule+ _fixedUpIdentifiersTree =+ CreateLanguage ann_ name_+ -- self rule+ _originalTree =+ CreateLanguage ann_ name_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CreateSequence :: Annotation ->+ T_Name ->+ Integer ->+ Integer ->+ Integer ->+ Integer ->+ Integer ->+ T_Statement +sem_Statement_CreateSequence ann_ name_ incr_ min_ max_ start_ cache_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _nameOcat :: Catalog+ _nameOidenv :: IDEnv+ _nameOlib :: LocalBindings+ _nameIannotatedTree :: Name + _nameIfixedUpIdentifiersTree :: Name + _nameIoriginalTree :: Name + _nameItbAnnotatedTree :: Name + _nameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ CreateSequence ann_ _nameIannotatedTree incr_ min_ max_ start_ cache_+ -- self rule+ _fixedUpIdentifiersTree =+ CreateSequence ann_ _nameIfixedUpIdentifiersTree incr_ min_ max_ start_ cache_+ -- self rule+ _originalTree =+ CreateSequence ann_ _nameIoriginalTree incr_ min_ max_ start_ cache_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _nameOcat =+ _lhsIcat+ -- copy rule (down)+ _nameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _nameOlib =+ _lhsIlib+ ( _nameIannotatedTree,_nameIfixedUpIdentifiersTree,_nameIoriginalTree,_nameItbAnnotatedTree,_nameItbUType) =+ name_ _nameOcat _nameOidenv _nameOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CreateTable :: Annotation ->+ T_Name ->+ T_AttributeDefList ->+ T_ConstraintList ->+ T_Statement +sem_Statement_CreateTable ann_ name_ atts_ cons_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _catUpdates :: ([CatalogUpdate])+ _attrs :: ([(String,Type)])+ _statementType :: (Maybe ParameterizedStatementType)+ _consOlib :: LocalBindings+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _nameOcat :: Catalog+ _nameOidenv :: IDEnv+ _nameOlib :: LocalBindings+ _attsOcat :: Catalog+ _attsOidenv :: IDEnv+ _attsOlib :: LocalBindings+ _consOcat :: Catalog+ _consOidenv :: IDEnv+ _nameIannotatedTree :: Name + _nameIfixedUpIdentifiersTree :: Name + _nameIoriginalTree :: Name + _nameItbAnnotatedTree :: Name + _nameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _attsIannotatedTree :: AttributeDefList + _attsIattrs :: ([(String, Maybe Type)])+ _attsIfixedUpIdentifiersTree :: AttributeDefList + _attsIoriginalTree :: AttributeDefList + _consIannotatedTree :: ConstraintList + _consIfixedUpIdentifiersTree :: ConstraintList + _consIoriginalTree :: ConstraintList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 31, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 32, column 9)+ _catUpdates =+ [CatCreateTable (getTName _nameIoriginalTree) _attrs defaultSystemColumns]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 35, column 9)+ _attrs =+ mapMaybe okAt _attsIattrs+ where+ okAt (s, Just t) = Just (s,t)+ okAt (_,Nothing) = Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 40, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 41, column 9)+ _backTree =+ CreateTable ann_+ _nameIoriginalTree+ _attsIannotatedTree+ _consIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 45, column 9)+ _consOlib =+ case lbUpdate _lhsIcat+ (LBIds "attributedefs" Nothing _attrs )+ _lhsIlib of+ Left x -> error $ "statement-createtable-cons.lib " ++ show x+ Right e -> e+ -- self rule+ _annotatedTree =+ CreateTable ann_ _nameIannotatedTree _attsIannotatedTree _consIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CreateTable ann_ _nameIfixedUpIdentifiersTree _attsIfixedUpIdentifiersTree _consIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CreateTable ann_ _nameIoriginalTree _attsIoriginalTree _consIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _nameOcat =+ _lhsIcat+ -- copy rule (down)+ _nameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _nameOlib =+ _lhsIlib+ -- copy rule (down)+ _attsOcat =+ _lhsIcat+ -- copy rule (down)+ _attsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _attsOlib =+ _lhsIlib+ -- copy rule (down)+ _consOcat =+ _lhsIcat+ -- copy rule (down)+ _consOidenv =+ _lhsIidenv+ ( _nameIannotatedTree,_nameIfixedUpIdentifiersTree,_nameIoriginalTree,_nameItbAnnotatedTree,_nameItbUType) =+ name_ _nameOcat _nameOidenv _nameOlib + ( _attsIannotatedTree,_attsIattrs,_attsIfixedUpIdentifiersTree,_attsIoriginalTree) =+ atts_ _attsOcat _attsOidenv _attsOlib + ( _consIannotatedTree,_consIfixedUpIdentifiersTree,_consIoriginalTree) =+ cons_ _consOcat _consOidenv _consOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CreateTableAs :: Annotation ->+ T_Name ->+ T_QueryExpr ->+ T_Statement +sem_Statement_CreateTableAs ann_ name_ expr_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _exprOcsql :: LocalBindings+ _tpe :: (Either [TypeError] Type)+ _catUpdates :: ([CatalogUpdate])+ _attrs :: (Either [TypeError] [(String,Type)])+ _statementType :: (Maybe ParameterizedStatementType)+ _exprOexpectedTypes :: ([Maybe Type])+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _nameOcat :: Catalog+ _nameOidenv :: IDEnv+ _nameOlib :: LocalBindings+ _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _nameIannotatedTree :: Name + _nameIfixedUpIdentifiersTree :: Name + _nameIoriginalTree :: Name + _nameItbAnnotatedTree :: Name + _nameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _exprIannotatedTree :: QueryExpr + _exprIcidenv :: IDEnv+ _exprIfixedUpIdentifiersTree :: QueryExpr + _exprIlibUpdates :: ([LocalBindingsUpdate])+ _exprIoriginalTree :: QueryExpr + _exprIuType :: (Maybe [(String,Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 122, column 21)+ _exprOcsql =+ emptyBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 64, column 9)+ _tpe =+ CompositeType <$> lmt _exprIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 65, column 9)+ _catUpdates =+ either (const []) id $ do+ ats <- _attrs+ return [CatCreateTable (getTName _nameIoriginalTree) ats defaultSystemColumns]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 71, column 9)+ _attrs =+ lmt _exprIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 73, column 9)+ _backTree =+ CreateTableAs ann_ _nameIoriginalTree _exprIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/CreateTable.ag"(line 74, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 173, column 32)+ _exprOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ CreateTableAs ann_ _nameIannotatedTree _exprIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CreateTableAs ann_ _nameIfixedUpIdentifiersTree _exprIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CreateTableAs ann_ _nameIoriginalTree _exprIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _nameOcat =+ _lhsIcat+ -- copy rule (down)+ _nameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _nameOlib =+ _lhsIlib+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ ( _nameIannotatedTree,_nameIfixedUpIdentifiersTree,_nameIoriginalTree,_nameItbAnnotatedTree,_nameItbUType) =+ name_ _nameOcat _nameOidenv _nameOlib + ( _exprIannotatedTree,_exprIcidenv,_exprIfixedUpIdentifiersTree,_exprIlibUpdates,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOcsql _exprOexpectedTypes _exprOidenv _exprOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CreateTrigger :: Annotation ->+ NameComponent ->+ TriggerWhen ->+ ([TriggerEvent]) ->+ T_Name ->+ TriggerFire ->+ T_Name ->+ T_ScalarExprList ->+ T_Statement +sem_Statement_CreateTrigger ann_ name_ wh_ events_ tbl_ firing_ fnName_ fnArgs_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _fnArgsOexpectedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _tblOcat :: Catalog+ _tblOidenv :: IDEnv+ _tblOlib :: LocalBindings+ _fnNameOcat :: Catalog+ _fnNameOidenv :: IDEnv+ _fnNameOlib :: LocalBindings+ _fnArgsOcat :: Catalog+ _fnArgsOidenv :: IDEnv+ _fnArgsOlib :: LocalBindings+ _tblIannotatedTree :: Name + _tblIfixedUpIdentifiersTree :: Name + _tblIoriginalTree :: Name + _tblItbAnnotatedTree :: Name + _tblItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _fnNameIannotatedTree :: Name + _fnNameIfixedUpIdentifiersTree :: Name + _fnNameIoriginalTree :: Name + _fnNameItbAnnotatedTree :: Name + _fnNameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _fnArgsIannotatedTree :: ScalarExprList + _fnArgsIfixedUpIdentifiersTree :: ScalarExprList + _fnArgsIoriginalTree :: ScalarExprList + _fnArgsIuType :: ([Maybe Type])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 151, column 21)+ _fnArgsOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ CreateTrigger ann_ name_ wh_ events_ _tblIannotatedTree firing_ _fnNameIannotatedTree _fnArgsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CreateTrigger ann_ name_ wh_ events_ _tblIfixedUpIdentifiersTree firing_ _fnNameIfixedUpIdentifiersTree _fnArgsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CreateTrigger ann_ name_ wh_ events_ _tblIoriginalTree firing_ _fnNameIoriginalTree _fnArgsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _tblOcat =+ _lhsIcat+ -- copy rule (down)+ _tblOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tblOlib =+ _lhsIlib+ -- copy rule (down)+ _fnNameOcat =+ _lhsIcat+ -- copy rule (down)+ _fnNameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _fnNameOlib =+ _lhsIlib+ -- copy rule (down)+ _fnArgsOcat =+ _lhsIcat+ -- copy rule (down)+ _fnArgsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _fnArgsOlib =+ _lhsIlib+ ( _tblIannotatedTree,_tblIfixedUpIdentifiersTree,_tblIoriginalTree,_tblItbAnnotatedTree,_tblItbUType) =+ tbl_ _tblOcat _tblOidenv _tblOlib + ( _fnNameIannotatedTree,_fnNameIfixedUpIdentifiersTree,_fnNameIoriginalTree,_fnNameItbAnnotatedTree,_fnNameItbUType) =+ fnName_ _fnNameOcat _fnNameOidenv _fnNameOlib + ( _fnArgsIannotatedTree,_fnArgsIfixedUpIdentifiersTree,_fnArgsIoriginalTree,_fnArgsIuType) =+ fnArgs_ _fnArgsOcat _fnArgsOexpectedTypes _fnArgsOidenv _fnArgsOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CreateType :: Annotation ->+ T_Name ->+ T_TypeAttributeDefList ->+ T_Statement +sem_Statement_CreateType ann_ name_ atts_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _statementType :: (Maybe ParameterizedStatementType)+ _catUpdates :: ([CatalogUpdate])+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _nameOcat :: Catalog+ _nameOidenv :: IDEnv+ _nameOlib :: LocalBindings+ _attsOcat :: Catalog+ _attsOidenv :: IDEnv+ _attsOlib :: LocalBindings+ _nameIannotatedTree :: Name + _nameIfixedUpIdentifiersTree :: Name + _nameIoriginalTree :: Name + _nameItbAnnotatedTree :: Name + _nameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _attsIannotatedTree :: TypeAttributeDefList + _attsIattrs :: ([(String, Maybe Type)])+ _attsIfixedUpIdentifiersTree :: TypeAttributeDefList + _attsIoriginalTree :: TypeAttributeDefList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 48, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 49, column 9)+ _attrs =+ mapMaybe okAt _attsIattrs+ where+ okAt (s, Just t) = Just (s,t)+ okAt (_,Nothing) = Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 53, column 9)+ _backTree =+ CreateType ann_ _nameIoriginalTree _attsIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 54, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 55, column 9)+ _catUpdates =+ [CatCreateComposite (getTName _nameIoriginalTree) _attrs ]+ -- self rule+ _annotatedTree =+ CreateType ann_ _nameIannotatedTree _attsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CreateType ann_ _nameIfixedUpIdentifiersTree _attsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CreateType ann_ _nameIoriginalTree _attsIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _nameOcat =+ _lhsIcat+ -- copy rule (down)+ _nameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _nameOlib =+ _lhsIlib+ -- copy rule (down)+ _attsOcat =+ _lhsIcat+ -- copy rule (down)+ _attsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _attsOlib =+ _lhsIlib+ ( _nameIannotatedTree,_nameIfixedUpIdentifiersTree,_nameIoriginalTree,_nameItbAnnotatedTree,_nameItbUType) =+ name_ _nameOcat _nameOidenv _nameOlib + ( _attsIannotatedTree,_attsIattrs,_attsIfixedUpIdentifiersTree,_attsIoriginalTree) =+ atts_ _attsOcat _attsOidenv _attsOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_CreateView :: Annotation ->+ T_Name ->+ MaybeNameComponentList ->+ T_QueryExpr ->+ T_Statement +sem_Statement_CreateView ann_ name_ colNames_ expr_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _exprOcsql :: LocalBindings+ _tpe :: (Either [TypeError] Type)+ _catUpdates :: ([CatalogUpdate])+ _statementType :: (Maybe ParameterizedStatementType)+ _exprOexpectedTypes :: ([Maybe Type])+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _nameOcat :: Catalog+ _nameOidenv :: IDEnv+ _nameOlib :: LocalBindings+ _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _nameIannotatedTree :: Name + _nameIfixedUpIdentifiersTree :: Name + _nameIoriginalTree :: Name + _nameItbAnnotatedTree :: Name + _nameItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _exprIannotatedTree :: QueryExpr + _exprIcidenv :: IDEnv+ _exprIfixedUpIdentifiersTree :: QueryExpr + _exprIlibUpdates :: ([LocalBindingsUpdate])+ _exprIoriginalTree :: QueryExpr + _exprIuType :: (Maybe [(String,Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 123, column 18)+ _exprOcsql =+ emptyBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 15, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 16, column 9)+ _backTree =+ CreateView ann_ _nameIoriginalTree colNames_ _exprIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 17, column 9)+ _catUpdates =+ maybe [] (\a -> [CatCreateView (getTName _nameIoriginalTree) a]) _exprIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 19, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 173, column 32)+ _exprOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ CreateView ann_ _nameIannotatedTree colNames_ _exprIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ CreateView ann_ _nameIfixedUpIdentifiersTree colNames_ _exprIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ CreateView ann_ _nameIoriginalTree colNames_ _exprIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _nameOcat =+ _lhsIcat+ -- copy rule (down)+ _nameOidenv =+ _lhsIidenv+ -- copy rule (down)+ _nameOlib =+ _lhsIlib+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ ( _nameIannotatedTree,_nameIfixedUpIdentifiersTree,_nameIoriginalTree,_nameItbAnnotatedTree,_nameItbUType) =+ name_ _nameOcat _nameOidenv _nameOlib + ( _exprIannotatedTree,_exprIcidenv,_exprIfixedUpIdentifiersTree,_exprIlibUpdates,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOcsql _exprOexpectedTypes _exprOidenv _exprOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Delete :: Annotation ->+ T_Name ->+ T_TableRefList ->+ T_MaybeBoolExpr ->+ T_MaybeSelectList ->+ T_Statement +sem_Statement_Delete ann_ table_ using_ whr_ returning_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _whrOidenv :: IDEnv+ _returningOidenv :: IDEnv+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _statementType :: (Maybe ParameterizedStatementType)+ _catUpdates :: ([CatalogUpdate])+ _whrOlib :: LocalBindings+ _returningOlib :: LocalBindings+ _lhsOoriginalTree :: Statement + _tableOcat :: Catalog+ _tableOidenv :: IDEnv+ _tableOlib :: LocalBindings+ _usingOcat :: Catalog+ _usingOidenv :: IDEnv+ _usingOlib :: LocalBindings+ _whrOcat :: Catalog+ _returningOcat :: Catalog+ _tableIannotatedTree :: Name + _tableIfixedUpIdentifiersTree :: Name + _tableIoriginalTree :: Name + _tableItbAnnotatedTree :: Name + _tableItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _usingIannotatedTree :: TableRefList + _usingIfixedUpIdentifiersTree :: TableRefList + _usingIlibUpdates :: ([LocalBindingsUpdate])+ _usingInewLib2 :: LocalBindings+ _usingIoriginalTree :: TableRefList + _usingItrefIDs :: IDEnv+ _whrIannotatedTree :: MaybeBoolExpr + _whrIfixedUpIdentifiersTree :: MaybeBoolExpr + _whrIoriginalTree :: MaybeBoolExpr + _returningIannotatedTree :: MaybeSelectList + _returningIfixedUpIdentifiersTree :: MaybeSelectList + _returningIlistType :: ([(String,Maybe Type)])+ _returningIoriginalTree :: MaybeSelectList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 555, column 9)+ _trefEnv =+ getTableTrefEnv _lhsIcat _tableIoriginalTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 556, column 9)+ _whrOidenv =+ _trefEnv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 557, column 9)+ _returningOidenv =+ _trefEnv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 558, column 9)+ _lhsOfixedUpIdentifiersTree =+ Delete ann_+ _tableIfixedUpIdentifiersTree+ _usingIfixedUpIdentifiersTree+ _whrIfixedUpIdentifiersTree+ _returningIfixedUpIdentifiersTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 13, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 14, column 9)+ _statementType =+ do+ pt <- sequence $ getPlaceholderTypes _whrIannotatedTree+ lt <- liftList _returningIlistType+ return (pt,lt)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 19, column 9)+ _backTree =+ Delete ann_ _tableItbAnnotatedTree _usingIannotatedTree _whrIannotatedTree _returningIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 20, column 9)+ _catUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 22, column 9)+ _lib =+ either (const _lhsIlib) id $ do+ makeTrefLib _lhsIcat _tableIannotatedTree _tableItbUType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 25, column 9)+ _whrOlib =+ _lib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Delete.ag"(line 26, column 9)+ _returningOlib =+ _lib+ -- self rule+ _annotatedTree =+ Delete ann_ _tableIannotatedTree _usingIannotatedTree _whrIannotatedTree _returningIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Delete ann_ _tableIfixedUpIdentifiersTree _usingIfixedUpIdentifiersTree _whrIfixedUpIdentifiersTree _returningIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Delete ann_ _tableIoriginalTree _usingIoriginalTree _whrIoriginalTree _returningIoriginalTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _tableOcat =+ _lhsIcat+ -- copy rule (down)+ _tableOidenv =+ _lhsIidenv+ -- copy rule (from local)+ _tableOlib =+ _lib+ -- copy rule (down)+ _usingOcat =+ _lhsIcat+ -- copy rule (down)+ _usingOidenv =+ _lhsIidenv+ -- copy rule (from local)+ _usingOlib =+ _lib+ -- copy rule (down)+ _whrOcat =+ _lhsIcat+ -- copy rule (down)+ _returningOcat =+ _lhsIcat+ ( _tableIannotatedTree,_tableIfixedUpIdentifiersTree,_tableIoriginalTree,_tableItbAnnotatedTree,_tableItbUType) =+ table_ _tableOcat _tableOidenv _tableOlib + ( _usingIannotatedTree,_usingIfixedUpIdentifiersTree,_usingIlibUpdates,_usingInewLib2,_usingIoriginalTree,_usingItrefIDs) =+ using_ _usingOcat _usingOidenv _usingOlib + ( _whrIannotatedTree,_whrIfixedUpIdentifiersTree,_whrIoriginalTree) =+ whr_ _whrOcat _whrOidenv _whrOlib + ( _returningIannotatedTree,_returningIfixedUpIdentifiersTree,_returningIlistType,_returningIoriginalTree) =+ returning_ _returningOcat _returningOidenv _returningOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_DropFunction :: Annotation ->+ IfExists ->+ T_NameTypeNameListPairList ->+ Cascade ->+ T_Statement +sem_Statement_DropFunction ann_ ifE_ sigs_ cascade_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _catUpdates :: ([CatalogUpdate])+ _statementType :: (Maybe ParameterizedStatementType)+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _sigsOcat :: Catalog+ _sigsOidenv :: IDEnv+ _sigsOlib :: LocalBindings+ _sigsIannotatedTree :: NameTypeNameListPairList + _sigsIfixedUpIdentifiersTree :: NameTypeNameListPairList + _sigsIfnSigs :: ([(Name,[Maybe Type])])+ _sigsIoriginalTree :: NameTypeNameListPairList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 10, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 11, column 9)+ _backTree =+ DropFunction ann_ ifE_ _sigsIannotatedTree cascade_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 12, column 9)+ _catUpdates =+ either (const []) id $+ Right $ map mcu $ mapMaybe goodSig _sigsIfnSigs+ where+ mcu :: (String,[Type]) -> CatalogUpdate+ mcu (nm,args) = CatDropFunction ifE nm args+ ifE = ifE_ == IfExists+ goodSig :: (Name,[Maybe Type]) -> Maybe (String,[Type])+ goodSig (s, ts) = do+ ts1 <- sequence ts+ return (getTName s,ts1)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 23, column 9)+ _statementType =+ Nothing+ -- self rule+ _annotatedTree =+ DropFunction ann_ ifE_ _sigsIannotatedTree cascade_+ -- self rule+ _fixedUpIdentifiersTree =+ DropFunction ann_ ifE_ _sigsIfixedUpIdentifiersTree cascade_+ -- self rule+ _originalTree =+ DropFunction ann_ ifE_ _sigsIoriginalTree cascade_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _sigsOcat =+ _lhsIcat+ -- copy rule (down)+ _sigsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _sigsOlib =+ _lhsIlib+ ( _sigsIannotatedTree,_sigsIfixedUpIdentifiersTree,_sigsIfnSigs,_sigsIoriginalTree) =+ sigs_ _sigsOcat _sigsOidenv _sigsOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_DropSomething :: Annotation ->+ DropType ->+ IfExists ->+ ([Name]) ->+ Cascade ->+ T_Statement +sem_Statement_DropSomething ann_ dropType_ ifE_ names_ cascade_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ DropSomething ann_ dropType_ ifE_ names_ cascade_+ -- self rule+ _fixedUpIdentifiersTree =+ DropSomething ann_ dropType_ ifE_ names_ cascade_+ -- self rule+ _originalTree =+ DropSomething ann_ dropType_ ifE_ names_ cascade_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Execute :: Annotation ->+ T_ScalarExpr ->+ T_Statement +sem_Statement_Execute ann_ expr_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _exprOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _exprIannotatedTree :: ScalarExpr + _exprIfixedUpIdentifiersTree :: ScalarExpr + _exprIoriginalTree :: ScalarExpr + _exprIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 112, column 9)+ _exprOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ Execute ann_ _exprIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Execute ann_ _exprIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Execute ann_ _exprIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_ExitStatement :: Annotation ->+ (Maybe String) ->+ T_Statement +sem_Statement_ExitStatement ann_ lb_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ ExitStatement ann_ lb_+ -- self rule+ _fixedUpIdentifiersTree =+ ExitStatement ann_ lb_+ -- self rule+ _originalTree =+ ExitStatement ann_ lb_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_ForIntegerStatement :: Annotation ->+ (Maybe String) ->+ NameComponent ->+ T_ScalarExpr ->+ T_ScalarExpr ->+ T_StatementList ->+ T_Statement +sem_Statement_ForIntegerStatement ann_ lb_ var_ from_ to_ sts_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _stsOcatUpdates :: ([CatalogUpdate])+ _stsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _catUpdates :: ([CatalogUpdate])+ _statementType :: (Maybe ParameterizedStatementType)+ _fromOexpectedType :: (Maybe Type)+ _toOexpectedType :: (Maybe Type)+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _fromOcat :: Catalog+ _fromOidenv :: IDEnv+ _fromOlib :: LocalBindings+ _toOcat :: Catalog+ _toOidenv :: IDEnv+ _toOlib :: LocalBindings+ _stsOcat :: Catalog+ _stsOidenv :: IDEnv+ _stsOlib :: LocalBindings+ _fromIannotatedTree :: ScalarExpr + _fromIfixedUpIdentifiersTree :: ScalarExpr + _fromIoriginalTree :: ScalarExpr + _fromIuType :: (Maybe Type)+ _toIannotatedTree :: ScalarExpr + _toIfixedUpIdentifiersTree :: ScalarExpr + _toIoriginalTree :: ScalarExpr + _toIuType :: (Maybe Type)+ _stsIannotatedTree :: StatementList + _stsIfixedUpIdentifiersTree :: StatementList + _stsIoriginalTree :: StatementList + _stsIproducedCat :: Catalog+ _stsIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 138, column 9)+ _stsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 139, column 9)+ _stsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 33, column 9)+ _tpe =+ Left []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 60, column 9)+ _backTree =+ ForIntegerStatement ann_ lb_ var_ _fromIannotatedTree _toIannotatedTree _stsIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 61, column 9)+ _catUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 62, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 113, column 27)+ _fromOexpectedType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 114, column 27)+ _toOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ ForIntegerStatement ann_ lb_ var_ _fromIannotatedTree _toIannotatedTree _stsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ ForIntegerStatement ann_ lb_ var_ _fromIfixedUpIdentifiersTree _toIfixedUpIdentifiersTree _stsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ ForIntegerStatement ann_ lb_ var_ _fromIoriginalTree _toIoriginalTree _stsIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _fromOcat =+ _lhsIcat+ -- copy rule (down)+ _fromOidenv =+ _lhsIidenv+ -- copy rule (down)+ _fromOlib =+ _lhsIlib+ -- copy rule (down)+ _toOcat =+ _lhsIcat+ -- copy rule (down)+ _toOidenv =+ _lhsIidenv+ -- copy rule (down)+ _toOlib =+ _lhsIlib+ -- copy rule (down)+ _stsOcat =+ _lhsIcat+ -- copy rule (down)+ _stsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _stsOlib =+ _lhsIlib+ ( _fromIannotatedTree,_fromIfixedUpIdentifiersTree,_fromIoriginalTree,_fromIuType) =+ from_ _fromOcat _fromOexpectedType _fromOidenv _fromOlib + ( _toIannotatedTree,_toIfixedUpIdentifiersTree,_toIoriginalTree,_toIuType) =+ to_ _toOcat _toOexpectedType _toOidenv _toOlib + ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =+ sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_ForQueryStatement :: Annotation ->+ (Maybe String) ->+ NameComponent ->+ T_QueryExpr ->+ T_StatementList ->+ T_Statement +sem_Statement_ForQueryStatement ann_ lb_ var_ sel_ sts_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _stsOcatUpdates :: ([CatalogUpdate])+ _stsOlibUpdates :: ([LocalBindingsUpdate])+ _selOcsql :: LocalBindings+ _tpe :: (Either [TypeError] Type)+ _catUpdates :: ([CatalogUpdate])+ _statementType :: (Maybe ParameterizedStatementType)+ _selOexpectedTypes :: ([Maybe Type])+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _selOcat :: Catalog+ _selOidenv :: IDEnv+ _selOlib :: LocalBindings+ _stsOcat :: Catalog+ _stsOidenv :: IDEnv+ _stsOlib :: LocalBindings+ _selIannotatedTree :: QueryExpr + _selIcidenv :: IDEnv+ _selIfixedUpIdentifiersTree :: QueryExpr + _selIlibUpdates :: ([LocalBindingsUpdate])+ _selIoriginalTree :: QueryExpr + _selIuType :: (Maybe [(String,Type)])+ _stsIannotatedTree :: StatementList + _stsIfixedUpIdentifiersTree :: StatementList + _stsIoriginalTree :: StatementList + _stsIproducedCat :: Catalog+ _stsIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 138, column 9)+ _stsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 139, column 9)+ _stsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 124, column 25)+ _selOcsql =+ emptyBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 67, column 9)+ _tpe =+ Left []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 84, column 9)+ _backTree =+ ForQueryStatement ann_ lb_ var_ _selIannotatedTree _stsIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 85, column 9)+ _catUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 86, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 175, column 9)+ _selOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ ForQueryStatement ann_ lb_ var_ _selIannotatedTree _stsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ ForQueryStatement ann_ lb_ var_ _selIfixedUpIdentifiersTree _stsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ ForQueryStatement ann_ lb_ var_ _selIoriginalTree _stsIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _selOcat =+ _lhsIcat+ -- copy rule (down)+ _selOidenv =+ _lhsIidenv+ -- copy rule (down)+ _selOlib =+ _lhsIlib+ -- copy rule (down)+ _stsOcat =+ _lhsIcat+ -- copy rule (down)+ _stsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _stsOlib =+ _lhsIlib+ ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =+ sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib + ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =+ sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_If :: Annotation ->+ T_ScalarExprStatementListPairList ->+ T_StatementList ->+ T_Statement +sem_Statement_If ann_ cases_ els_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _elsOcatUpdates :: ([CatalogUpdate])+ _elsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _casesOcat :: Catalog+ _casesOidenv :: IDEnv+ _casesOlib :: LocalBindings+ _elsOcat :: Catalog+ _elsOidenv :: IDEnv+ _elsOlib :: LocalBindings+ _casesIannotatedTree :: ScalarExprStatementListPairList + _casesIfixedUpIdentifiersTree :: ScalarExprStatementListPairList + _casesIoriginalTree :: ScalarExprStatementListPairList + _elsIannotatedTree :: StatementList + _elsIfixedUpIdentifiersTree :: StatementList + _elsIoriginalTree :: StatementList + _elsIproducedCat :: Catalog+ _elsIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 134, column 9)+ _elsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 135, column 9)+ _elsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ If ann_ _casesIannotatedTree _elsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ If ann_ _casesIfixedUpIdentifiersTree _elsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ If ann_ _casesIoriginalTree _elsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _casesOcat =+ _lhsIcat+ -- copy rule (down)+ _casesOidenv =+ _lhsIidenv+ -- copy rule (down)+ _casesOlib =+ _lhsIlib+ -- copy rule (down)+ _elsOcat =+ _lhsIcat+ -- copy rule (down)+ _elsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _elsOlib =+ _lhsIlib+ ( _casesIannotatedTree,_casesIfixedUpIdentifiersTree,_casesIoriginalTree) =+ cases_ _casesOcat _casesOidenv _casesOlib + ( _elsIannotatedTree,_elsIfixedUpIdentifiersTree,_elsIoriginalTree,_elsIproducedCat,_elsIproducedLib) =+ els_ _elsOcat _elsOcatUpdates _elsOidenv _elsOlib _elsOlibUpdates + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Insert :: Annotation ->+ T_Name ->+ ([NameComponent]) ->+ T_QueryExpr ->+ T_MaybeSelectList ->+ T_Statement +sem_Statement_Insert ann_ table_ targetCols_ insData_ returning_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _returningOidenv :: IDEnv+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _insDataOcsql :: LocalBindings+ _tpe :: (Either [TypeError] Type)+ _statementType :: (Maybe ParameterizedStatementType)+ _columnTypes :: (Either [TypeError] [(String,Type)])+ _catUpdates :: ([CatalogUpdate])+ _insDataOexpectedTypes :: ([Maybe Type])+ _returningOlib :: LocalBindings+ _lhsOoriginalTree :: Statement + _tableOcat :: Catalog+ _tableOidenv :: IDEnv+ _tableOlib :: LocalBindings+ _insDataOcat :: Catalog+ _insDataOidenv :: IDEnv+ _insDataOlib :: LocalBindings+ _returningOcat :: Catalog+ _tableIannotatedTree :: Name + _tableIfixedUpIdentifiersTree :: Name + _tableIoriginalTree :: Name + _tableItbAnnotatedTree :: Name + _tableItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _insDataIannotatedTree :: QueryExpr + _insDataIcidenv :: IDEnv+ _insDataIfixedUpIdentifiersTree :: QueryExpr + _insDataIlibUpdates :: ([LocalBindingsUpdate])+ _insDataIoriginalTree :: QueryExpr + _insDataIuType :: (Maybe [(String,Type)])+ _returningIannotatedTree :: MaybeSelectList + _returningIfixedUpIdentifiersTree :: MaybeSelectList + _returningIlistType :: ([(String,Maybe Type)])+ _returningIoriginalTree :: MaybeSelectList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 565, column 9)+ _trefEnv =+ getTableTrefEnv _lhsIcat _tableIoriginalTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 566, column 9)+ _returningOidenv =+ _trefEnv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 567, column 9)+ _lhsOfixedUpIdentifiersTree =+ Insert ann_+ _tableIfixedUpIdentifiersTree+ targetCols_+ _insDataIfixedUpIdentifiersTree+ _returningIfixedUpIdentifiersTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 125, column 14)+ _insDataOcsql =+ emptyBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 14, column 9)+ _tpe =+ either Left (const $ Right $ Pseudo Void) _columnTypes+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 15, column 9)+ _statementType =+ Just (catMaybes $ getPlaceholderTypes _insDataIannotatedTree+ ,fromMaybe [] $ liftList _returningIlistType)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 20, column 9)+ _columnTypes =+ do+ atts <- lmt (allAtts <$> _tableItbUType)+ pAtts <- lmt (fst <$> _tableItbUType)+ tAtts <- case targetCols_ of+ [] -> return pAtts+ _ -> mapM (lkpA atts) (map ncStr targetCols_)+ expAtts <- lmt _insDataIuType+ checkAssignmentsValid _lhsIcat (map snd expAtts) (map snd tAtts)+ return tAtts+ where+ lkpA :: [(String,Type)] -> String -> E (String,Type)+ lkpA m n = maybe (Left [UnrecognisedIdentifier n])+ (\t -> Right (n,t))+ $ lookup n m+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 36, column 9)+ _backTree =+ Insert ann_ _tableItbAnnotatedTree+ targetCols_+ _insDataIannotatedTree+ _returningIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 40, column 9)+ _catUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 41, column 9)+ _insDataOexpectedTypes =+ maybe [] id $ do+ ts <- etmt $ _columnTypes+ return $ map (Just . snd) ts+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Insert.ag"(line 45, column 9)+ _returningOlib =+ either (const _lhsIlib) id $ do+ makeTrefLib _lhsIcat _tableIannotatedTree _tableItbUType+ -- self rule+ _annotatedTree =+ Insert ann_ _tableIannotatedTree targetCols_ _insDataIannotatedTree _returningIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Insert ann_ _tableIfixedUpIdentifiersTree targetCols_ _insDataIfixedUpIdentifiersTree _returningIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Insert ann_ _tableIoriginalTree targetCols_ _insDataIoriginalTree _returningIoriginalTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _tableOcat =+ _lhsIcat+ -- copy rule (down)+ _tableOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tableOlib =+ _lhsIlib+ -- copy rule (down)+ _insDataOcat =+ _lhsIcat+ -- copy rule (down)+ _insDataOidenv =+ _lhsIidenv+ -- copy rule (down)+ _insDataOlib =+ _lhsIlib+ -- copy rule (down)+ _returningOcat =+ _lhsIcat+ ( _tableIannotatedTree,_tableIfixedUpIdentifiersTree,_tableIoriginalTree,_tableItbAnnotatedTree,_tableItbUType) =+ table_ _tableOcat _tableOidenv _tableOlib + ( _insDataIannotatedTree,_insDataIcidenv,_insDataIfixedUpIdentifiersTree,_insDataIlibUpdates,_insDataIoriginalTree,_insDataIuType) =+ insData_ _insDataOcat _insDataOcsql _insDataOexpectedTypes _insDataOidenv _insDataOlib + ( _returningIannotatedTree,_returningIfixedUpIdentifiersTree,_returningIlistType,_returningIoriginalTree) =+ returning_ _returningOcat _returningOidenv _returningOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Into :: Annotation ->+ Bool ->+ ([Name]) ->+ T_Statement ->+ T_Statement +sem_Statement_Into ann_ strict_ into_ stmt_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _stmtOcat :: Catalog+ _stmtOidenv :: IDEnv+ _stmtOinProducedCat :: Catalog+ _stmtOlib :: LocalBindings+ _stmtIannotatedTree :: Statement + _stmtIcatUpdates :: ([CatalogUpdate])+ _stmtIfixedUpIdentifiersTree :: Statement + _stmtIlibUpdates :: ([LocalBindingsUpdate])+ _stmtIoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ Into ann_ strict_ into_ _stmtIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Into ann_ strict_ into_ _stmtIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Into ann_ strict_ into_ _stmtIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _stmtOcat =+ _lhsIcat+ -- copy rule (down)+ _stmtOidenv =+ _lhsIidenv+ -- copy rule (down)+ _stmtOinProducedCat =+ _lhsIinProducedCat+ -- copy rule (down)+ _stmtOlib =+ _lhsIlib+ ( _stmtIannotatedTree,_stmtIcatUpdates,_stmtIfixedUpIdentifiersTree,_stmtIlibUpdates,_stmtIoriginalTree) =+ stmt_ _stmtOcat _stmtOidenv _stmtOinProducedCat _stmtOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_LoopStatement :: Annotation ->+ (Maybe String) ->+ T_StatementList ->+ T_Statement +sem_Statement_LoopStatement ann_ lb_ sts_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _stsOcatUpdates :: ([CatalogUpdate])+ _stsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _stsOcat :: Catalog+ _stsOidenv :: IDEnv+ _stsOlib :: LocalBindings+ _stsIannotatedTree :: StatementList + _stsIfixedUpIdentifiersTree :: StatementList + _stsIoriginalTree :: StatementList + _stsIproducedCat :: Catalog+ _stsIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 138, column 9)+ _stsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 139, column 9)+ _stsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ LoopStatement ann_ lb_ _stsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ LoopStatement ann_ lb_ _stsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ LoopStatement ann_ lb_ _stsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _stsOcat =+ _lhsIcat+ -- copy rule (down)+ _stsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _stsOlib =+ _lhsIlib+ ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =+ sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Notify :: Annotation ->+ String ->+ T_Statement +sem_Statement_Notify ann_ name_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ Notify ann_ name_+ -- self rule+ _fixedUpIdentifiersTree =+ Notify ann_ name_+ -- self rule+ _originalTree =+ Notify ann_ name_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_NullStatement :: Annotation ->+ T_Statement +sem_Statement_NullStatement ann_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ NullStatement ann_+ -- self rule+ _fixedUpIdentifiersTree =+ NullStatement ann_+ -- self rule+ _originalTree =+ NullStatement ann_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Perform :: Annotation ->+ T_ScalarExpr ->+ T_Statement +sem_Statement_Perform ann_ expr_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _exprOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _exprIannotatedTree :: ScalarExpr + _exprIfixedUpIdentifiersTree :: ScalarExpr + _exprIoriginalTree :: ScalarExpr + _exprIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 112, column 9)+ _exprOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ Perform ann_ _exprIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Perform ann_ _exprIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Perform ann_ _exprIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_QueryStatement :: Annotation ->+ T_QueryExpr ->+ T_Statement +sem_Statement_QueryStatement ann_ ex_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _statementType :: (Maybe ParameterizedStatementType)+ _catUpdates :: ([CatalogUpdate])+ _exOcsql :: LocalBindings+ _exOexpectedTypes :: ([Maybe Type])+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _exOcat :: Catalog+ _exOidenv :: IDEnv+ _exOlib :: LocalBindings+ _exIannotatedTree :: QueryExpr + _exIcidenv :: IDEnv+ _exIfixedUpIdentifiersTree :: QueryExpr + _exIlibUpdates :: ([LocalBindingsUpdate])+ _exIoriginalTree :: QueryExpr + _exIuType :: (Maybe [(String,Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 14, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 15, column 9)+ _statementType =+ do+ pt <- sequence $ getPlaceholderTypes _exIannotatedTree+ st <- _exIuType+ return (pt+ ,case st of+ [(_,(Pseudo Void))] -> []+ t -> t)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 23, column 9)+ _backTree =+ QueryStatement ann_ _exIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 24, column 9)+ _catUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 126, column 22)+ _exOcsql =+ emptyBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 137, column 9)+ _libUpdates =+ _exIlibUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 176, column 22)+ _exOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ QueryStatement ann_ _exIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ QueryStatement ann_ _exIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ QueryStatement ann_ _exIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exOcat =+ _lhsIcat+ -- copy rule (down)+ _exOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exOlib =+ _lhsIlib+ ( _exIannotatedTree,_exIcidenv,_exIfixedUpIdentifiersTree,_exIlibUpdates,_exIoriginalTree,_exIuType) =+ ex_ _exOcat _exOcsql _exOexpectedTypes _exOidenv _exOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Raise :: Annotation ->+ RaiseType ->+ String ->+ T_ScalarExprList ->+ T_Statement +sem_Statement_Raise ann_ level_ message_ args_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _argsOexpectedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _argsOcat :: Catalog+ _argsOidenv :: IDEnv+ _argsOlib :: LocalBindings+ _argsIannotatedTree :: ScalarExprList + _argsIfixedUpIdentifiersTree :: ScalarExprList + _argsIoriginalTree :: ScalarExprList + _argsIuType :: ([Maybe Type])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 152, column 13)+ _argsOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ Raise ann_ level_ message_ _argsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Raise ann_ level_ message_ _argsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Raise ann_ level_ message_ _argsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _argsOcat =+ _lhsIcat+ -- copy rule (down)+ _argsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _argsOlib =+ _lhsIlib+ ( _argsIannotatedTree,_argsIfixedUpIdentifiersTree,_argsIoriginalTree,_argsIuType) =+ args_ _argsOcat _argsOexpectedTypes _argsOidenv _argsOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Return :: Annotation ->+ T_MaybeScalarExpr ->+ T_Statement +sem_Statement_Return ann_ value_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _catUpdates :: ([CatalogUpdate])+ _statementType :: (Maybe ParameterizedStatementType)+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _valueOcat :: Catalog+ _valueOidenv :: IDEnv+ _valueOlib :: LocalBindings+ _valueIannotatedTree :: MaybeScalarExpr + _valueIfixedUpIdentifiersTree :: MaybeScalarExpr + _valueIoriginalTree :: MaybeScalarExpr + _valueIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 12, column 9)+ _tpe =+ maybe (Right $ Pseudo Void) Right _valueIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 13, column 9)+ _backTree =+ Return ann_ _valueIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 14, column 9)+ _catUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Plpgsql.ag"(line 15, column 9)+ _statementType =+ Nothing+ -- self rule+ _annotatedTree =+ Return ann_ _valueIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Return ann_ _valueIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Return ann_ _valueIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _valueOcat =+ _lhsIcat+ -- copy rule (down)+ _valueOidenv =+ _lhsIidenv+ -- copy rule (down)+ _valueOlib =+ _lhsIlib+ ( _valueIannotatedTree,_valueIfixedUpIdentifiersTree,_valueIoriginalTree,_valueIuType) =+ value_ _valueOcat _valueOidenv _valueOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_ReturnNext :: Annotation ->+ T_ScalarExpr ->+ T_Statement +sem_Statement_ReturnNext ann_ expr_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _exprOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _exprIannotatedTree :: ScalarExpr + _exprIfixedUpIdentifiersTree :: ScalarExpr + _exprIoriginalTree :: ScalarExpr + _exprIuType :: (Maybe Type)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 112, column 9)+ _exprOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ ReturnNext ann_ _exprIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ ReturnNext ann_ _exprIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ ReturnNext ann_ _exprIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_ReturnQuery :: Annotation ->+ T_QueryExpr ->+ T_Statement +sem_Statement_ReturnQuery ann_ sel_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _selOcsql :: LocalBindings+ _selOexpectedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _selOcat :: Catalog+ _selOidenv :: IDEnv+ _selOlib :: LocalBindings+ _selIannotatedTree :: QueryExpr + _selIcidenv :: IDEnv+ _selIfixedUpIdentifiersTree :: QueryExpr + _selIlibUpdates :: ([LocalBindingsUpdate])+ _selIoriginalTree :: QueryExpr + _selIuType :: (Maybe [(String,Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 127, column 19)+ _selOcsql =+ emptyBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 175, column 9)+ _selOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ ReturnQuery ann_ _selIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ ReturnQuery ann_ _selIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ ReturnQuery ann_ _selIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _selOcat =+ _lhsIcat+ -- copy rule (down)+ _selOidenv =+ _lhsIidenv+ -- copy rule (down)+ _selOlib =+ _lhsIlib+ ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =+ sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Set :: Annotation ->+ String ->+ ([SetValue]) ->+ T_Statement +sem_Statement_Set ann_ name_ values_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ Set ann_ name_ values_+ -- self rule+ _fixedUpIdentifiersTree =+ Set ann_ name_ values_+ -- self rule+ _originalTree =+ Set ann_ name_ values_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Truncate :: Annotation ->+ ([Name]) ->+ RestartIdentity ->+ Cascade ->+ T_Statement +sem_Statement_Truncate ann_ tables_ restartIdentity_ cascade_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- self rule+ _annotatedTree =+ Truncate ann_ tables_ restartIdentity_ cascade_+ -- self rule+ _fixedUpIdentifiersTree =+ Truncate ann_ tables_ restartIdentity_ cascade_+ -- self rule+ _originalTree =+ Truncate ann_ tables_ restartIdentity_ cascade_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_Update :: Annotation ->+ T_Name ->+ T_SetClauseList ->+ T_TableRefList ->+ T_MaybeBoolExpr ->+ T_MaybeSelectList ->+ T_Statement +sem_Statement_Update ann_ table_ assigns_ fromList_ whr_ returning_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _whrOidenv :: IDEnv+ _assignsOidenv :: IDEnv+ _returningOidenv :: IDEnv+ _lhsOfixedUpIdentifiersTree :: Statement + _lhsOannotatedTree :: Statement + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _tpe :: (Either [TypeError] Type)+ _statementType :: (Maybe ParameterizedStatementType)+ _catUpdates :: ([CatalogUpdate])+ _whrOlib :: LocalBindings+ _assignsOlib :: LocalBindings+ _returningOlib :: LocalBindings+ _assignsOtbName :: String+ _lhsOoriginalTree :: Statement + _tableOcat :: Catalog+ _tableOidenv :: IDEnv+ _tableOlib :: LocalBindings+ _assignsOcat :: Catalog+ _fromListOcat :: Catalog+ _fromListOidenv :: IDEnv+ _fromListOlib :: LocalBindings+ _whrOcat :: Catalog+ _returningOcat :: Catalog+ _tableIannotatedTree :: Name + _tableIfixedUpIdentifiersTree :: Name + _tableIoriginalTree :: Name + _tableItbAnnotatedTree :: Name + _tableItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _assignsIannotatedTree :: SetClauseList + _assignsIfixedUpIdentifiersTree :: SetClauseList + _assignsIoriginalTree :: SetClauseList + _fromListIannotatedTree :: TableRefList + _fromListIfixedUpIdentifiersTree :: TableRefList + _fromListIlibUpdates :: ([LocalBindingsUpdate])+ _fromListInewLib2 :: LocalBindings+ _fromListIoriginalTree :: TableRefList + _fromListItrefIDs :: IDEnv+ _whrIannotatedTree :: MaybeBoolExpr + _whrIfixedUpIdentifiersTree :: MaybeBoolExpr + _whrIoriginalTree :: MaybeBoolExpr + _returningIannotatedTree :: MaybeSelectList + _returningIfixedUpIdentifiersTree :: MaybeSelectList + _returningIlistType :: ([(String,Maybe Type)])+ _returningIoriginalTree :: MaybeSelectList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 543, column 9)+ _trefEnv =+ getTableTrefEnv _lhsIcat _tableIoriginalTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 544, column 9)+ _whrOidenv =+ _trefEnv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 545, column 9)+ _assignsOidenv =+ _trefEnv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 546, column 9)+ _returningOidenv =+ _trefEnv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 547, column 9)+ _lhsOfixedUpIdentifiersTree =+ Update ann_+ _tableIfixedUpIdentifiersTree+ _assignsIfixedUpIdentifiersTree+ _fromListIfixedUpIdentifiersTree+ _whrIfixedUpIdentifiersTree+ _returningIfixedUpIdentifiersTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 82, column 9)+ _lhsOannotatedTree =+ updateAnnotation+ (\a -> a {stType = _statementType+ ,catUpd = _catUpdates }) $+ setTypeAddErrors _tpe _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 88, column 9)+ _lhsOcatUpdates =+ _catUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 89, column 9)+ _lhsOlibUpdates =+ _libUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 94, column 9)+ _libUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 25, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 30, column 9)+ _statementType =+ do+ pt <- sequence $ getPlaceholderTypes _assignsIannotatedTree+ ++ getPlaceholderTypes _whrIannotatedTree+ return (pt,fromMaybe [] $ liftList _returningIlistType)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 36, column 9)+ _backTree =+ Update ann_+ _tableItbAnnotatedTree+ _assignsIannotatedTree+ _fromListIannotatedTree+ _whrIannotatedTree+ _returningIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 42, column 9)+ _catUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 47, column 9)+ _lib =+ either (const _lhsIlib) id $ do+ makeTrefLib _lhsIcat _tableIannotatedTree _tableItbUType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 50, column 9)+ _whrOlib =+ _lib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 51, column 9)+ _assignsOlib =+ _lib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 52, column 9)+ _returningOlib =+ _lib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Dml/Update.ag"(line 59, column 9)+ _assignsOtbName =+ getTName _tableIannotatedTree+ -- self rule+ _annotatedTree =+ Update ann_ _tableIannotatedTree _assignsIannotatedTree _fromListIannotatedTree _whrIannotatedTree _returningIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Update ann_ _tableIfixedUpIdentifiersTree _assignsIfixedUpIdentifiersTree _fromListIfixedUpIdentifiersTree _whrIfixedUpIdentifiersTree _returningIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Update ann_ _tableIoriginalTree _assignsIoriginalTree _fromListIoriginalTree _whrIoriginalTree _returningIoriginalTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _tableOcat =+ _lhsIcat+ -- copy rule (down)+ _tableOidenv =+ _lhsIidenv+ -- copy rule (from local)+ _tableOlib =+ _lib+ -- copy rule (down)+ _assignsOcat =+ _lhsIcat+ -- copy rule (down)+ _fromListOcat =+ _lhsIcat+ -- copy rule (down)+ _fromListOidenv =+ _lhsIidenv+ -- copy rule (from local)+ _fromListOlib =+ _lib+ -- copy rule (down)+ _whrOcat =+ _lhsIcat+ -- copy rule (down)+ _returningOcat =+ _lhsIcat+ ( _tableIannotatedTree,_tableIfixedUpIdentifiersTree,_tableIoriginalTree,_tableItbAnnotatedTree,_tableItbUType) =+ table_ _tableOcat _tableOidenv _tableOlib + ( _assignsIannotatedTree,_assignsIfixedUpIdentifiersTree,_assignsIoriginalTree) =+ assigns_ _assignsOcat _assignsOidenv _assignsOlib _assignsOtbName + ( _fromListIannotatedTree,_fromListIfixedUpIdentifiersTree,_fromListIlibUpdates,_fromListInewLib2,_fromListIoriginalTree,_fromListItrefIDs) =+ fromList_ _fromListOcat _fromListOidenv _fromListOlib + ( _whrIannotatedTree,_whrIfixedUpIdentifiersTree,_whrIoriginalTree) =+ whr_ _whrOcat _whrOidenv _whrOlib + ( _returningIannotatedTree,_returningIfixedUpIdentifiersTree,_returningIlistType,_returningIoriginalTree) =+ returning_ _returningOcat _returningOidenv _returningOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+sem_Statement_WhileStatement :: Annotation ->+ (Maybe String) ->+ T_ScalarExpr ->+ T_StatementList ->+ T_Statement +sem_Statement_WhileStatement ann_ lb_ expr_ sts_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIinProducedCat+ _lhsIlib ->+ (let _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _stsOcatUpdates :: ([CatalogUpdate])+ _stsOlibUpdates :: ([LocalBindingsUpdate])+ _exprOexpectedType :: (Maybe Type)+ _lhsOannotatedTree :: Statement + _lhsOfixedUpIdentifiersTree :: Statement + _lhsOoriginalTree :: Statement + _exprOcat :: Catalog+ _exprOidenv :: IDEnv+ _exprOlib :: LocalBindings+ _stsOcat :: Catalog+ _stsOidenv :: IDEnv+ _stsOlib :: LocalBindings+ _exprIannotatedTree :: ScalarExpr + _exprIfixedUpIdentifiersTree :: ScalarExpr + _exprIoriginalTree :: ScalarExpr + _exprIuType :: (Maybe Type)+ _stsIannotatedTree :: StatementList + _stsIfixedUpIdentifiersTree :: StatementList + _stsIoriginalTree :: StatementList + _stsIproducedCat :: Catalog+ _stsIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 116, column 9)+ _lhsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 117, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 138, column 9)+ _stsOcatUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 139, column 9)+ _stsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 112, column 9)+ _exprOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ WhileStatement ann_ lb_ _exprIannotatedTree _stsIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ WhileStatement ann_ lb_ _exprIfixedUpIdentifiersTree _stsIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ WhileStatement ann_ lb_ _exprIoriginalTree _stsIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _exprOcat =+ _lhsIcat+ -- copy rule (down)+ _exprOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exprOlib =+ _lhsIlib+ -- copy rule (down)+ _stsOcat =+ _lhsIcat+ -- copy rule (down)+ _stsOidenv =+ _lhsIidenv+ -- copy rule (down)+ _stsOlib =+ _lhsIlib+ ( _exprIannotatedTree,_exprIfixedUpIdentifiersTree,_exprIoriginalTree,_exprIuType) =+ expr_ _exprOcat _exprOexpectedType _exprOidenv _exprOlib + ( _stsIannotatedTree,_stsIfixedUpIdentifiersTree,_stsIoriginalTree,_stsIproducedCat,_stsIproducedLib) =+ sts_ _stsOcat _stsOcatUpdates _stsOidenv _stsOlib _stsOlibUpdates + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOoriginalTree)))+-- StatementList -----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ catUpdates : [CatalogUpdate]+ idenv : IDEnv+ lib : LocalBindings+ libUpdates : [LocalBindingsUpdate]+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + producedCat : Catalog+ producedLib : LocalBindings+ alternatives:+ alternative Cons:+ child hd : Statement + child tl : StatementList + visit 0:+ local newCat : _+ local newLib : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local newCat : _+ local newLib : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type StatementList = [Statement ]+-- cata+sem_StatementList :: StatementList ->+ T_StatementList +sem_StatementList list =+ (Prelude.foldr sem_StatementList_Cons sem_StatementList_Nil (Prelude.map sem_Statement list) )+-- semantic domain+type T_StatementList = Catalog ->+ ([CatalogUpdate]) ->+ IDEnv ->+ LocalBindings ->+ ([LocalBindingsUpdate]) ->+ ( StatementList ,StatementList ,StatementList ,Catalog,LocalBindings)+data Inh_StatementList = Inh_StatementList {cat_Inh_StatementList :: Catalog,catUpdates_Inh_StatementList :: ([CatalogUpdate]),idenv_Inh_StatementList :: IDEnv,lib_Inh_StatementList :: LocalBindings,libUpdates_Inh_StatementList :: ([LocalBindingsUpdate])}+data Syn_StatementList = Syn_StatementList {annotatedTree_Syn_StatementList :: StatementList ,fixedUpIdentifiersTree_Syn_StatementList :: StatementList ,originalTree_Syn_StatementList :: StatementList ,producedCat_Syn_StatementList :: Catalog,producedLib_Syn_StatementList :: LocalBindings}+wrap_StatementList :: T_StatementList ->+ Inh_StatementList ->+ Syn_StatementList +wrap_StatementList sem (Inh_StatementList _lhsIcat _lhsIcatUpdates _lhsIidenv _lhsIlib _lhsIlibUpdates ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat,_lhsOproducedLib) = sem _lhsIcat _lhsIcatUpdates _lhsIidenv _lhsIlib _lhsIlibUpdates + in (Syn_StatementList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOproducedCat _lhsOproducedLib ))+sem_StatementList_Cons :: T_Statement ->+ T_StatementList ->+ T_StatementList +sem_StatementList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIcatUpdates+ _lhsIidenv+ _lhsIlib+ _lhsIlibUpdates ->+ (let _hdOcat :: Catalog+ _tlOcat :: Catalog+ _hdOlib :: LocalBindings+ _tlOlib :: LocalBindings+ _lhsOproducedCat :: Catalog+ _lhsOproducedLib :: LocalBindings+ _tlOcatUpdates :: ([CatalogUpdate])+ _tlOlibUpdates :: ([LocalBindingsUpdate])+ _hdOinProducedCat :: Catalog+ _lhsOannotatedTree :: StatementList + _lhsOfixedUpIdentifiersTree :: StatementList + _lhsOoriginalTree :: StatementList + _hdOidenv :: IDEnv+ _tlOidenv :: IDEnv+ _hdIannotatedTree :: Statement + _hdIcatUpdates :: ([CatalogUpdate])+ _hdIfixedUpIdentifiersTree :: Statement + _hdIlibUpdates :: ([LocalBindingsUpdate])+ _hdIoriginalTree :: Statement + _tlIannotatedTree :: StatementList + _tlIfixedUpIdentifiersTree :: StatementList + _tlIoriginalTree :: StatementList + _tlIproducedCat :: Catalog+ _tlIproducedLib :: LocalBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 56, column 9)+ _newCat =+ fromRight _lhsIcat $ updateCatalog _lhsIcat _lhsIcatUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 57, column 9)+ _newLib =+ fromRight _lhsIlib $ foldM (flip $ lbUpdate _lhsIcat) _lhsIlib _lhsIlibUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 59, column 9)+ _hdOcat =+ _newCat+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 60, column 9)+ _tlOcat =+ _newCat+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 61, column 9)+ _hdOlib =+ _newLib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 62, column 9)+ _tlOlib =+ _newLib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 66, column 9)+ _lhsOproducedCat =+ _tlIproducedCat+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 67, column 9)+ _lhsOproducedLib =+ _tlIproducedLib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 70, column 9)+ _tlOcatUpdates =+ _hdIcatUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 71, column 9)+ _tlOlibUpdates =+ _hdIlibUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 97, column 12)+ _hdOinProducedCat =+ _tlIproducedCat+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ ( _hdIannotatedTree,_hdIcatUpdates,_hdIfixedUpIdentifiersTree,_hdIlibUpdates,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOinProducedCat _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIproducedCat,_tlIproducedLib) =+ tl_ _tlOcat _tlOcatUpdates _tlOidenv _tlOlib _tlOlibUpdates + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat,_lhsOproducedLib)))+sem_StatementList_Nil :: T_StatementList +sem_StatementList_Nil =+ (\ _lhsIcat+ _lhsIcatUpdates+ _lhsIidenv+ _lhsIlib+ _lhsIlibUpdates ->+ (let _lhsOproducedCat :: Catalog+ _lhsOproducedLib :: LocalBindings+ _lhsOannotatedTree :: StatementList + _lhsOfixedUpIdentifiersTree :: StatementList + _lhsOoriginalTree :: StatementList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 56, column 9)+ _newCat =+ fromRight _lhsIcat $ updateCatalog _lhsIcat _lhsIcatUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 57, column 9)+ _newLib =+ fromRight _lhsIlib $ foldM (flip $ lbUpdate _lhsIcat) _lhsIlib _lhsIlibUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 73, column 9)+ _lhsOproducedCat =+ _newCat+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 74, column 9)+ _lhsOproducedLib =+ _newLib+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat,_lhsOproducedLib)))+-- TableAlias --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ expectedNumCols : Maybe Int+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative FullAlias:+ child ann : {Annotation}+ child tb : {NameComponent}+ child cols : {[NameComponent]}+ visit 0:+ local errs : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative NoAlias:+ child ann : {Annotation}+ visit 0:+ local backTree : _+ local errs : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative TableAlias:+ child ann : {Annotation}+ child tb : {NameComponent}+ visit 0:+ local backTree : _+ local errs : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data TableAlias = FullAlias (Annotation) (NameComponent) (([NameComponent])) + | NoAlias (Annotation) + | TableAlias (Annotation) (NameComponent) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_TableAlias :: TableAlias ->+ T_TableAlias +sem_TableAlias (FullAlias _ann _tb _cols ) =+ (sem_TableAlias_FullAlias _ann _tb _cols )+sem_TableAlias (NoAlias _ann ) =+ (sem_TableAlias_NoAlias _ann )+sem_TableAlias (TableAlias _ann _tb ) =+ (sem_TableAlias_TableAlias _ann _tb )+-- semantic domain+type T_TableAlias = Catalog ->+ (Maybe Int) ->+ IDEnv ->+ LocalBindings ->+ ( TableAlias ,TableAlias ,TableAlias )+data Inh_TableAlias = Inh_TableAlias {cat_Inh_TableAlias :: Catalog,expectedNumCols_Inh_TableAlias :: (Maybe Int),idenv_Inh_TableAlias :: IDEnv,lib_Inh_TableAlias :: LocalBindings}+data Syn_TableAlias = Syn_TableAlias {annotatedTree_Syn_TableAlias :: TableAlias ,fixedUpIdentifiersTree_Syn_TableAlias :: TableAlias ,originalTree_Syn_TableAlias :: TableAlias }+wrap_TableAlias :: T_TableAlias ->+ Inh_TableAlias ->+ Syn_TableAlias +wrap_TableAlias sem (Inh_TableAlias _lhsIcat _lhsIexpectedNumCols _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIexpectedNumCols _lhsIidenv _lhsIlib + in (Syn_TableAlias _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_TableAlias_FullAlias :: Annotation ->+ NameComponent ->+ ([NameComponent]) ->+ T_TableAlias +sem_TableAlias_FullAlias ann_ tb_ cols_ =+ (\ _lhsIcat+ _lhsIexpectedNumCols+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: TableAlias + _lhsOfixedUpIdentifiersTree :: TableAlias + _lhsOoriginalTree :: TableAlias + -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 305, column 9)+ _lhsOannotatedTree =+ addTypeErrors _errs _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 307, column 9)+ _errs =+ case _lhsIexpectedNumCols of+ Nothing -> []+ Just n -> if n == length cols_+ then []+ else [WrongNumberOfAliasCols n $ length cols_]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 312, column 9)+ _backTree =+ FullAlias ann_ tb_ cols_+ -- self rule+ _annotatedTree =+ FullAlias ann_ tb_ cols_+ -- self rule+ _fixedUpIdentifiersTree =+ FullAlias ann_ tb_ cols_+ -- self rule+ _originalTree =+ FullAlias ann_ tb_ cols_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_TableAlias_NoAlias :: Annotation ->+ T_TableAlias +sem_TableAlias_NoAlias ann_ =+ (\ _lhsIcat+ _lhsIexpectedNumCols+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: TableAlias + _lhsOfixedUpIdentifiersTree :: TableAlias + _lhsOoriginalTree :: TableAlias + -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 305, column 9)+ _lhsOannotatedTree =+ addTypeErrors _errs _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 315, column 15)+ _backTree =+ NoAlias ann_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 316, column 15)+ _errs =+ []+ -- self rule+ _annotatedTree =+ NoAlias ann_+ -- self rule+ _fixedUpIdentifiersTree =+ NoAlias ann_+ -- self rule+ _originalTree =+ NoAlias ann_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_TableAlias_TableAlias :: Annotation ->+ NameComponent ->+ T_TableAlias +sem_TableAlias_TableAlias ann_ tb_ =+ (\ _lhsIcat+ _lhsIexpectedNumCols+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOannotatedTree :: TableAlias + _lhsOfixedUpIdentifiersTree :: TableAlias + _lhsOoriginalTree :: TableAlias + -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 305, column 9)+ _lhsOannotatedTree =+ addTypeErrors _errs _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 313, column 18)+ _backTree =+ TableAlias ann_ tb_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 314, column 18)+ _errs =+ []+ -- self rule+ _annotatedTree =+ TableAlias ann_ tb_+ -- self rule+ _fixedUpIdentifiersTree =+ TableAlias ann_ tb_+ -- self rule+ _originalTree =+ TableAlias ann_ tb_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- TableRef ----------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + libUpdates : [LocalBindingsUpdate]+ newLib2 : LocalBindings+ originalTree : SELF + trefIDs : IDEnv+ alternatives:+ alternative FunTref:+ child ann : {Annotation}+ child fn : ScalarExpr + child alias : TableAlias + visit 0:+ local _tup2 : {(IDEnv,TableRef)}+ local errs : _+ local eqfunIdens : {Either [TypeError] (String,[(String,Type)])}+ local qfunIdens : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative JoinTref:+ child ann : {Annotation}+ child tbl : TableRef + child nat : {Natural}+ child joinType : {JoinType}+ child tbl1 : TableRef + child onExpr : OnExpr + child alias : TableAlias + visit 0:+ local _tup3 : _+ local trefIDs : _+ local errs : _+ local joinErrors : _+ local libUpdates : _+ local newLib : {Either [TypeError] LocalBindings}+ local newLib2 : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative SubTref:+ child ann : {Annotation}+ child sel : QueryExpr + child alias : TableAlias + visit 0:+ local _tup4 : {(IDEnv,TableRef)}+ local errs : _+ local selectAttrs : {Either [TypeError] [(String,Type)]}+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Tref:+ child ann : {Annotation}+ child tbl : Name + child alias : TableAlias + visit 0:+ local _tup5 : {(IDEnv,TableRef)}+ local errs : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data TableRef = FunTref (Annotation) (ScalarExpr ) (TableAlias ) + | JoinTref (Annotation) (TableRef ) (Natural) (JoinType) (TableRef ) (OnExpr ) (TableAlias ) + | SubTref (Annotation) (QueryExpr ) (TableAlias ) + | Tref (Annotation) (Name ) (TableAlias ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_TableRef :: TableRef ->+ T_TableRef +sem_TableRef (FunTref _ann _fn _alias ) =+ (sem_TableRef_FunTref _ann (sem_ScalarExpr _fn ) (sem_TableAlias _alias ) )+sem_TableRef (JoinTref _ann _tbl _nat _joinType _tbl1 _onExpr _alias ) =+ (sem_TableRef_JoinTref _ann (sem_TableRef _tbl ) _nat _joinType (sem_TableRef _tbl1 ) (sem_OnExpr _onExpr ) (sem_TableAlias _alias ) )+sem_TableRef (SubTref _ann _sel _alias ) =+ (sem_TableRef_SubTref _ann (sem_QueryExpr _sel ) (sem_TableAlias _alias ) )+sem_TableRef (Tref _ann _tbl _alias ) =+ (sem_TableRef_Tref _ann (sem_Name _tbl ) (sem_TableAlias _alias ) )+-- semantic domain+type T_TableRef = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( TableRef ,TableRef ,([LocalBindingsUpdate]),LocalBindings,TableRef ,IDEnv)+data Inh_TableRef = Inh_TableRef {cat_Inh_TableRef :: Catalog,idenv_Inh_TableRef :: IDEnv,lib_Inh_TableRef :: LocalBindings}+data Syn_TableRef = Syn_TableRef {annotatedTree_Syn_TableRef :: TableRef ,fixedUpIdentifiersTree_Syn_TableRef :: TableRef ,libUpdates_Syn_TableRef :: ([LocalBindingsUpdate]),newLib2_Syn_TableRef :: LocalBindings,originalTree_Syn_TableRef :: TableRef ,trefIDs_Syn_TableRef :: IDEnv}+wrap_TableRef :: T_TableRef ->+ Inh_TableRef ->+ Syn_TableRef +wrap_TableRef sem (Inh_TableRef _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_TableRef _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOlibUpdates _lhsOnewLib2 _lhsOoriginalTree _lhsOtrefIDs ))+sem_TableRef_FunTref :: Annotation ->+ T_ScalarExpr ->+ T_TableAlias ->+ T_TableRef +sem_TableRef_FunTref ann_ fn_ alias_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let __tup2 :: ((IDEnv,TableRef))+ _lhsOtrefIDs :: IDEnv+ _lhsOfixedUpIdentifiersTree :: TableRef + _lhsOannotatedTree :: TableRef + _eqfunIdens :: (Either [TypeError] (String,[(String,Type)]))+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOnewLib2 :: LocalBindings+ _aliasOexpectedNumCols :: (Maybe Int)+ _fnOexpectedType :: (Maybe Type)+ _lhsOoriginalTree :: TableRef + _fnOcat :: Catalog+ _fnOidenv :: IDEnv+ _fnOlib :: LocalBindings+ _aliasOcat :: Catalog+ _aliasOidenv :: IDEnv+ _aliasOlib :: LocalBindings+ _fnIannotatedTree :: ScalarExpr + _fnIfixedUpIdentifiersTree :: ScalarExpr + _fnIoriginalTree :: ScalarExpr + _fnIuType :: (Maybe Type)+ _aliasIannotatedTree :: TableAlias + _aliasIfixedUpIdentifiersTree :: TableAlias + _aliasIoriginalTree :: TableAlias + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 424, column 15)+ __tup2 =+ let (FunCall _ f _) = _fnIoriginalTree+ iea = aliasEnv _aliasIoriginalTree $ FunTrefIDEnv $ getTName f+ al = getEnvAlias iea+ in (iea, FunTref ann_ _fnIfixedUpIdentifiersTree al)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 424, column 15)+ (_lhsOtrefIDs,_) =+ __tup2+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 424, column 15)+ (_,_lhsOfixedUpIdentifiersTree) =+ __tup2+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 55, column 9)+ _lhsOannotatedTree =+ addTypeErrors _errs _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 106, column 9)+ _errs =+ case _eqfunIdens of+ Left e -> e+ Right _ -> []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 112, column 9)+ _eqfunIdens =+ funIdens _lhsIcat _aliasIoriginalTree _fnIannotatedTree _fnIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 113, column 9)+ _lhsOlibUpdates =+ [LBTref "fn"+ (fst _qfunIdens )+ (snd _qfunIdens )+ []]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 117, column 9)+ _qfunIdens =+ fromRight ("",[]) _eqfunIdens+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 263, column 9)+ _lhsOnewLib2 =+ createLocalBindings $ do+ (t,cs) <- etmt $ funIdens _lhsIcat _aliasIoriginalTree _fnIannotatedTree _fnIuType+ return [(t,map (second Just) cs)]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 279, column 9)+ _backTree =+ FunTref ann_ _fnIannotatedTree _aliasIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 300, column 9)+ _aliasOexpectedNumCols =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 117, column 15)+ _fnOexpectedType =+ Nothing+ -- self rule+ _annotatedTree =+ FunTref ann_ _fnIannotatedTree _aliasIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ FunTref ann_ _fnIfixedUpIdentifiersTree _aliasIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ FunTref ann_ _fnIoriginalTree _aliasIoriginalTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _fnOcat =+ _lhsIcat+ -- copy rule (down)+ _fnOidenv =+ _lhsIidenv+ -- copy rule (down)+ _fnOlib =+ _lhsIlib+ -- copy rule (down)+ _aliasOcat =+ _lhsIcat+ -- copy rule (down)+ _aliasOidenv =+ _lhsIidenv+ -- copy rule (down)+ _aliasOlib =+ _lhsIlib+ ( _fnIannotatedTree,_fnIfixedUpIdentifiersTree,_fnIoriginalTree,_fnIuType) =+ fn_ _fnOcat _fnOexpectedType _fnOidenv _fnOlib + ( _aliasIannotatedTree,_aliasIfixedUpIdentifiersTree,_aliasIoriginalTree) =+ alias_ _aliasOcat _aliasOexpectedNumCols _aliasOidenv _aliasOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))+sem_TableRef_JoinTref :: Annotation ->+ T_TableRef ->+ Natural ->+ JoinType ->+ T_TableRef ->+ T_OnExpr ->+ T_TableAlias ->+ T_TableRef +sem_TableRef_JoinTref ann_ tbl_ nat_ joinType_ tbl1_ onExpr_ alias_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOtrefIDs :: IDEnv+ _onExprOidenv :: IDEnv+ _lhsOfixedUpIdentifiersTree :: TableRef + _lhsOannotatedTree :: TableRef + _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _newLib :: (Either [TypeError] LocalBindings)+ _lhsOnewLib2 :: LocalBindings+ _onExprOlib :: LocalBindings+ _aliasOexpectedNumCols :: (Maybe Int)+ _lhsOoriginalTree :: TableRef + _tblOcat :: Catalog+ _tblOidenv :: IDEnv+ _tblOlib :: LocalBindings+ _tbl1Ocat :: Catalog+ _tbl1Oidenv :: IDEnv+ _tbl1Olib :: LocalBindings+ _onExprOcat :: Catalog+ _aliasOcat :: Catalog+ _aliasOidenv :: IDEnv+ _aliasOlib :: LocalBindings+ _tblIannotatedTree :: TableRef + _tblIfixedUpIdentifiersTree :: TableRef + _tblIlibUpdates :: ([LocalBindingsUpdate])+ _tblInewLib2 :: LocalBindings+ _tblIoriginalTree :: TableRef + _tblItrefIDs :: IDEnv+ _tbl1IannotatedTree :: TableRef + _tbl1IfixedUpIdentifiersTree :: TableRef + _tbl1IlibUpdates :: ([LocalBindingsUpdate])+ _tbl1InewLib2 :: LocalBindings+ _tbl1IoriginalTree :: TableRef + _tbl1ItrefIDs :: IDEnv+ _onExprIannotatedTree :: OnExpr + _onExprIfixedUpIdentifiersTree :: OnExpr + _onExprIoriginalTree :: OnExpr + _aliasIannotatedTree :: TableAlias + _aliasIfixedUpIdentifiersTree :: TableAlias + _aliasIoriginalTree :: TableAlias + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 442, column 9)+ _lhsOtrefIDs =+ _trefIDs+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 443, column 9)+ _onExprOidenv =+ _trefIDs+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 460, column 9)+ __tup3 =+ let t0ids = maybe [] id $ fmap (map snd) $ expandStar _tblItrefIDs Nothing+ t1ids = maybe [] id $ fmap (map snd) $ expandStar _tbl1ItrefIDs Nothing+ jids :: [String]+ jids = case (nat_,_onExprIoriginalTree) of+ (Natural,_) -> intersect t0ids t1ids+ (_,Just (JoinUsing _ fs)) -> map ncStr fs+ _ -> []+ iea = aliasEnv _aliasIoriginalTree+ $ JoinTrefIDEnv jids _tblItrefIDs _tbl1ItrefIDs+ al = getEnvAlias iea+ in (iea, JoinTref ann_ _tblIfixedUpIdentifiersTree+ nat_ joinType_ _tbl1IfixedUpIdentifiersTree+ _onExprIfixedUpIdentifiersTree al)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 460, column 9)+ (_trefIDs,_) =+ __tup3+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 460, column 9)+ (_,_lhsOfixedUpIdentifiersTree) =+ __tup3+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 55, column 9)+ _lhsOannotatedTree =+ addTypeErrors _errs _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 122, column 9)+ _errs =+ fromLeft [] _newLib+ ++ _joinErrors+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 124, column 9)+ _lhsOlibUpdates =+ if _joinErrors == []+ then _libUpdates+ else []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 129, column 9)+ _joinErrors =+ fromLeft [] (foldM (flip $ lbUpdate _lhsIcat) _lhsIlib _libUpdates )+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 130, column 9)+ _libUpdates =+ case (_tblIlibUpdates, _tbl1IlibUpdates) of+ ([u1], [u2]) -> [LBJoinTref "join" u1 u2 jids+ (case _aliasIoriginalTree of+ NoAlias _ -> Nothing+ TableAlias _ t -> Just $ ncStr t+ FullAlias _ t _ -> Just $ ncStr t)]+ _ -> []+ where+ jids = case (nat_, _onExprIoriginalTree) of+ (Natural, _) -> Left ()+ (_,Just (JoinUsing _ s)) -> Right $ map ncStr s+ _ -> Right []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 144, column 9)+ _newLib =+ case (_tblIlibUpdates, _tbl1IlibUpdates) of+ ([u1],[u2]) -> lbUpdate _lhsIcat+ (LBJoinTref "join" u1 u2 (Right []) Nothing) _lhsIlib+ _ -> Right _lhsIlib+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 237, column 9)+ _newLib2 =+ let t0t :: [(String,Maybe Type)]+ t0t = getUnqualifiedBindings _tblInewLib2+ t1t = getUnqualifiedBindings _tbl1InewLib2+ in case _aliasIoriginalTree of+ (FullAlias _ n cs) ->+ createLocalBindings $ Just [(ncStr n,zip (map ncStr cs) $ map snd (t0t ++ t1t))]+ (TableAlias _ n) ->+ createLocalBindings $ Just [(ncStr n, t0t ++ t1t)]+ NoAlias _ ->+ joinBindings _tblInewLib2 _tbl1InewLib2+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 250, column 9)+ _lhsOnewLib2 =+ _newLib2+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 251, column 9)+ _onExprOlib =+ _newLib2+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 281, column 9)+ _backTree =+ JoinTref ann_+ _tblIannotatedTree+ nat_+ joinType_+ _tbl1IannotatedTree+ _onExprIannotatedTree+ _aliasIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 300, column 9)+ _aliasOexpectedNumCols =+ Nothing+ -- self rule+ _annotatedTree =+ JoinTref ann_ _tblIannotatedTree nat_ joinType_ _tbl1IannotatedTree _onExprIannotatedTree _aliasIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ JoinTref ann_ _tblIfixedUpIdentifiersTree nat_ joinType_ _tbl1IfixedUpIdentifiersTree _onExprIfixedUpIdentifiersTree _aliasIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ JoinTref ann_ _tblIoriginalTree nat_ joinType_ _tbl1IoriginalTree _onExprIoriginalTree _aliasIoriginalTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _tblOcat =+ _lhsIcat+ -- copy rule (down)+ _tblOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tblOlib =+ _lhsIlib+ -- copy rule (down)+ _tbl1Ocat =+ _lhsIcat+ -- copy rule (down)+ _tbl1Oidenv =+ _lhsIidenv+ -- copy rule (down)+ _tbl1Olib =+ _lhsIlib+ -- copy rule (down)+ _onExprOcat =+ _lhsIcat+ -- copy rule (down)+ _aliasOcat =+ _lhsIcat+ -- copy rule (down)+ _aliasOidenv =+ _lhsIidenv+ -- copy rule (down)+ _aliasOlib =+ _lhsIlib+ ( _tblIannotatedTree,_tblIfixedUpIdentifiersTree,_tblIlibUpdates,_tblInewLib2,_tblIoriginalTree,_tblItrefIDs) =+ tbl_ _tblOcat _tblOidenv _tblOlib + ( _tbl1IannotatedTree,_tbl1IfixedUpIdentifiersTree,_tbl1IlibUpdates,_tbl1InewLib2,_tbl1IoriginalTree,_tbl1ItrefIDs) =+ tbl1_ _tbl1Ocat _tbl1Oidenv _tbl1Olib + ( _onExprIannotatedTree,_onExprIfixedUpIdentifiersTree,_onExprIoriginalTree) =+ onExpr_ _onExprOcat _onExprOidenv _onExprOlib + ( _aliasIannotatedTree,_aliasIfixedUpIdentifiersTree,_aliasIoriginalTree) =+ alias_ _aliasOcat _aliasOexpectedNumCols _aliasOidenv _aliasOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))+sem_TableRef_SubTref :: Annotation ->+ T_QueryExpr ->+ T_TableAlias ->+ T_TableRef +sem_TableRef_SubTref ann_ sel_ alias_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let __tup4 :: ((IDEnv,TableRef))+ _lhsOtrefIDs :: IDEnv+ _lhsOfixedUpIdentifiersTree :: TableRef + _selOcsql :: LocalBindings+ _lhsOannotatedTree :: TableRef + _selectAttrs :: (Either [TypeError] [(String,Type)])+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOnewLib2 :: LocalBindings+ _aliasOexpectedNumCols :: (Maybe Int)+ _selOexpectedTypes :: ([Maybe Type])+ _lhsOoriginalTree :: TableRef + _selOcat :: Catalog+ _selOidenv :: IDEnv+ _selOlib :: LocalBindings+ _aliasOcat :: Catalog+ _aliasOidenv :: IDEnv+ _aliasOlib :: LocalBindings+ _selIannotatedTree :: QueryExpr + _selIcidenv :: IDEnv+ _selIfixedUpIdentifiersTree :: QueryExpr + _selIlibUpdates :: ([LocalBindingsUpdate])+ _selIoriginalTree :: QueryExpr + _selIuType :: (Maybe [(String,Type)])+ _aliasIannotatedTree :: TableAlias + _aliasIfixedUpIdentifiersTree :: TableAlias + _aliasIoriginalTree :: TableAlias + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 412, column 15)+ __tup4 =+ let iea = aliasEnv _aliasIoriginalTree _selIcidenv+ al = getEnvAlias iea+ in (iea, SubTref ann_ _selIfixedUpIdentifiersTree al)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 412, column 15)+ (_lhsOtrefIDs,_) =+ __tup4+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 412, column 15)+ (_,_lhsOfixedUpIdentifiersTree) =+ __tup4+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 129, column 15)+ _selOcsql =+ emptyBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 55, column 9)+ _lhsOannotatedTree =+ addTypeErrors _errs _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 76, column 9)+ _errs =+ case _selectAttrs of+ Left e -> e+ Right _ -> []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 80, column 9)+ _selectAttrs =+ lmt _selIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 81, column 9)+ _lhsOlibUpdates =+ [LBTref "sub query" (getAlias "" _aliasIoriginalTree)+ (fromRight [] _selectAttrs ) []]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 254, column 9)+ _lhsOnewLib2 =+ createLocalBindings $ do+ pu <- _selIuType+ let (n,cs) = case _aliasIoriginalTree of+ (FullAlias _ n cs) -> (ncStr n,map ncStr cs)+ _ -> (n, [])+ return [(n,zip cs $ map (Just . snd) pu)]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 275, column 9)+ _backTree =+ SubTref ann_ _selIannotatedTree _aliasIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 300, column 9)+ _aliasOexpectedNumCols =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 178, column 15)+ _selOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ SubTref ann_ _selIannotatedTree _aliasIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ SubTref ann_ _selIfixedUpIdentifiersTree _aliasIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ SubTref ann_ _selIoriginalTree _aliasIoriginalTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _selOcat =+ _lhsIcat+ -- copy rule (down)+ _selOidenv =+ _lhsIidenv+ -- copy rule (down)+ _selOlib =+ _lhsIlib+ -- copy rule (down)+ _aliasOcat =+ _lhsIcat+ -- copy rule (down)+ _aliasOidenv =+ _lhsIidenv+ -- copy rule (down)+ _aliasOlib =+ _lhsIlib+ ( _selIannotatedTree,_selIcidenv,_selIfixedUpIdentifiersTree,_selIlibUpdates,_selIoriginalTree,_selIuType) =+ sel_ _selOcat _selOcsql _selOexpectedTypes _selOidenv _selOlib + ( _aliasIannotatedTree,_aliasIfixedUpIdentifiersTree,_aliasIoriginalTree) =+ alias_ _aliasOcat _aliasOexpectedNumCols _aliasOidenv _aliasOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))+sem_TableRef_Tref :: Annotation ->+ T_Name ->+ T_TableAlias ->+ T_TableRef +sem_TableRef_Tref ann_ tbl_ alias_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let __tup5 :: ((IDEnv,TableRef))+ _lhsOtrefIDs :: IDEnv+ _lhsOfixedUpIdentifiersTree :: TableRef + _lhsOannotatedTree :: TableRef + _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOnewLib2 :: LocalBindings+ _aliasOexpectedNumCols :: (Maybe Int)+ _lhsOoriginalTree :: TableRef + _tblOcat :: Catalog+ _tblOidenv :: IDEnv+ _tblOlib :: LocalBindings+ _aliasOcat :: Catalog+ _aliasOidenv :: IDEnv+ _aliasOlib :: LocalBindings+ _tblIannotatedTree :: Name + _tblIfixedUpIdentifiersTree :: Name + _tblIoriginalTree :: Name + _tblItbAnnotatedTree :: Name + _tblItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ _aliasIannotatedTree :: TableAlias + _aliasIfixedUpIdentifiersTree :: TableAlias + _aliasIoriginalTree :: TableAlias + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 399, column 12)+ __tup5 =+ let iea = aliasEnv _aliasIoriginalTree $ getTableTrefEnv _lhsIcat _tblIoriginalTree+ al = getEnvAlias iea+ in (iea,Tref ann_ _tblIfixedUpIdentifiersTree al)+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 399, column 12)+ (_lhsOtrefIDs,_) =+ __tup5+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 399, column 12)+ (_,_lhsOfixedUpIdentifiersTree) =+ __tup5+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 55, column 9)+ _lhsOannotatedTree =+ addTypeErrors _errs _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 89, column 9)+ _errs =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 90, column 9)+ _lhsOlibUpdates =+ maybe [] id $ do+ let n = getTName _tblIannotatedTree+ (pu,pr) <- _tblItbUType+ return [LBTref ("tref: " ++ n)+ (getAlias n _aliasIoriginalTree)+ pu+ pr]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 225, column 9)+ _lhsOnewLib2 =+ createLocalBindings $ do+ let n = getTName _tblIannotatedTree+ (pu,pr) <- _tblItbUType+ let (n,cs) = case _aliasIoriginalTree of+ (FullAlias _ n cs) -> (ncStr n,map ncStr cs)+ _ -> (n, [])+ return [(n,zip cs $ map (Just . snd) pu)+ ,(n,map (second Just) pr)]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 277, column 9)+ _backTree =+ Tref ann_ _tblItbAnnotatedTree _aliasIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 294, column 9)+ _aliasOexpectedNumCols =+ do+ let n = getTName _tblIannotatedTree+ (pu,_) <- _tblItbUType+ return $ length pu+ -- self rule+ _annotatedTree =+ Tref ann_ _tblIannotatedTree _aliasIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ Tref ann_ _tblIfixedUpIdentifiersTree _aliasIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ Tref ann_ _tblIoriginalTree _aliasIoriginalTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _tblOcat =+ _lhsIcat+ -- copy rule (down)+ _tblOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tblOlib =+ _lhsIlib+ -- copy rule (down)+ _aliasOcat =+ _lhsIcat+ -- copy rule (down)+ _aliasOidenv =+ _lhsIidenv+ -- copy rule (down)+ _aliasOlib =+ _lhsIlib+ ( _tblIannotatedTree,_tblIfixedUpIdentifiersTree,_tblIoriginalTree,_tblItbAnnotatedTree,_tblItbUType) =+ tbl_ _tblOcat _tblOidenv _tblOlib + ( _aliasIannotatedTree,_aliasIfixedUpIdentifiersTree,_aliasIoriginalTree) =+ alias_ _aliasOcat _aliasOexpectedNumCols _aliasOidenv _aliasOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))+-- TableRefList ------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + libUpdates : [LocalBindingsUpdate]+ newLib2 : LocalBindings+ originalTree : SELF + trefIDs : IDEnv+ alternatives:+ alternative Cons:+ child hd : TableRef + child tl : TableRefList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type TableRefList = [TableRef ]+-- cata+sem_TableRefList :: TableRefList ->+ T_TableRefList +sem_TableRefList list =+ (Prelude.foldr sem_TableRefList_Cons sem_TableRefList_Nil (Prelude.map sem_TableRef list) )+-- semantic domain+type T_TableRefList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( TableRefList ,TableRefList ,([LocalBindingsUpdate]),LocalBindings,TableRefList ,IDEnv)+data Inh_TableRefList = Inh_TableRefList {cat_Inh_TableRefList :: Catalog,idenv_Inh_TableRefList :: IDEnv,lib_Inh_TableRefList :: LocalBindings}+data Syn_TableRefList = Syn_TableRefList {annotatedTree_Syn_TableRefList :: TableRefList ,fixedUpIdentifiersTree_Syn_TableRefList :: TableRefList ,libUpdates_Syn_TableRefList :: ([LocalBindingsUpdate]),newLib2_Syn_TableRefList :: LocalBindings,originalTree_Syn_TableRefList :: TableRefList ,trefIDs_Syn_TableRefList :: IDEnv}+wrap_TableRefList :: T_TableRefList ->+ Inh_TableRefList ->+ Syn_TableRefList +wrap_TableRefList sem (Inh_TableRefList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_TableRefList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOlibUpdates _lhsOnewLib2 _lhsOoriginalTree _lhsOtrefIDs ))+sem_TableRefList_Cons :: T_TableRef ->+ T_TableRefList ->+ T_TableRefList +sem_TableRefList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOtrefIDs :: IDEnv+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOnewLib2 :: LocalBindings+ _lhsOannotatedTree :: TableRefList + _lhsOfixedUpIdentifiersTree :: TableRefList + _lhsOoriginalTree :: TableRefList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: TableRef + _hdIfixedUpIdentifiersTree :: TableRef + _hdIlibUpdates :: ([LocalBindingsUpdate])+ _hdInewLib2 :: LocalBindings+ _hdIoriginalTree :: TableRef + _hdItrefIDs :: IDEnv+ _tlIannotatedTree :: TableRefList + _tlIfixedUpIdentifiersTree :: TableRefList + _tlIlibUpdates :: ([LocalBindingsUpdate])+ _tlInewLib2 :: LocalBindings+ _tlIoriginalTree :: TableRefList + _tlItrefIDs :: IDEnv+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 383, column 12)+ _lhsOtrefIDs =+ JoinTrefIDEnv [] _hdItrefIDs _tlItrefIDs+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 61, column 9)+ _lhsOlibUpdates =+ _hdIlibUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 221, column 9)+ _lhsOnewLib2 =+ joinBindings _hdInewLib2 _tlInewLib2+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdIlibUpdates,_hdInewLib2,_hdIoriginalTree,_hdItrefIDs) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlIlibUpdates,_tlInewLib2,_tlIoriginalTree,_tlItrefIDs) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))+sem_TableRefList_Nil :: T_TableRefList +sem_TableRefList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOtrefIDs :: IDEnv+ _lhsOlibUpdates :: ([LocalBindingsUpdate])+ _lhsOnewLib2 :: LocalBindings+ _lhsOannotatedTree :: TableRefList + _lhsOfixedUpIdentifiersTree :: TableRefList + _lhsOoriginalTree :: TableRefList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 384, column 11)+ _lhsOtrefIDs =+ emptyIDEnv "empty tref list"+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 59, column 9)+ _lhsOlibUpdates =+ []+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 219, column 9)+ _lhsOnewLib2 =+ createLocalBindings $ Just []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOlibUpdates,_lhsOnewLib2,_lhsOoriginalTree,_lhsOtrefIDs)))+-- TypeAttributeDef --------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + attrName : String+ fixedUpIdentifiersTree : SELF + namedType : Maybe Type+ originalTree : SELF + alternatives:+ alternative TypeAttDef:+ child ann : {Annotation}+ child name : {NameComponent}+ child typ : TypeName + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data TypeAttributeDef = TypeAttDef (Annotation) (NameComponent) (TypeName ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_TypeAttributeDef :: TypeAttributeDef ->+ T_TypeAttributeDef +sem_TypeAttributeDef (TypeAttDef _ann _name _typ ) =+ (sem_TypeAttributeDef_TypeAttDef _ann _name (sem_TypeName _typ ) )+-- semantic domain+type T_TypeAttributeDef = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( TypeAttributeDef ,String,TypeAttributeDef ,(Maybe Type),TypeAttributeDef )+data Inh_TypeAttributeDef = Inh_TypeAttributeDef {cat_Inh_TypeAttributeDef :: Catalog,idenv_Inh_TypeAttributeDef :: IDEnv,lib_Inh_TypeAttributeDef :: LocalBindings}+data Syn_TypeAttributeDef = Syn_TypeAttributeDef {annotatedTree_Syn_TypeAttributeDef :: TypeAttributeDef ,attrName_Syn_TypeAttributeDef :: String,fixedUpIdentifiersTree_Syn_TypeAttributeDef :: TypeAttributeDef ,namedType_Syn_TypeAttributeDef :: (Maybe Type),originalTree_Syn_TypeAttributeDef :: TypeAttributeDef }+wrap_TypeAttributeDef :: T_TypeAttributeDef ->+ Inh_TypeAttributeDef ->+ Syn_TypeAttributeDef +wrap_TypeAttributeDef sem (Inh_TypeAttributeDef _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOattrName,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_TypeAttributeDef _lhsOannotatedTree _lhsOattrName _lhsOfixedUpIdentifiersTree _lhsOnamedType _lhsOoriginalTree ))+sem_TypeAttributeDef_TypeAttDef :: Annotation ->+ NameComponent ->+ T_TypeName ->+ T_TypeAttributeDef +sem_TypeAttributeDef_TypeAttDef ann_ name_ typ_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOattrName :: String+ _lhsOnamedType :: (Maybe Type)+ _lhsOannotatedTree :: TypeAttributeDef + _lhsOfixedUpIdentifiersTree :: TypeAttributeDef + _lhsOoriginalTree :: TypeAttributeDef + _typOcat :: Catalog+ _typOidenv :: IDEnv+ _typOlib :: LocalBindings+ _typIannotatedTree :: TypeName + _typIfixedUpIdentifiersTree :: TypeName + _typInamedType :: (Maybe Type)+ _typIoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 37, column 9)+ _lhsOattrName =+ ncStr name_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 38, column 9)+ _lhsOnamedType =+ _typInamedType+ -- self rule+ _annotatedTree =+ TypeAttDef ann_ name_ _typIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ TypeAttDef ann_ name_ _typIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ TypeAttDef ann_ name_ _typIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _typOcat =+ _lhsIcat+ -- copy rule (down)+ _typOidenv =+ _lhsIidenv+ -- copy rule (down)+ _typOlib =+ _lhsIlib+ ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =+ typ_ _typOcat _typOidenv _typOlib + in ( _lhsOannotatedTree,_lhsOattrName,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))+-- TypeAttributeDefList ----------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + attrs : [(String, Maybe Type)]+ fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Cons:+ child hd : TypeAttributeDef + child tl : TypeAttributeDefList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type TypeAttributeDefList = [TypeAttributeDef ]+-- cata+sem_TypeAttributeDefList :: TypeAttributeDefList ->+ T_TypeAttributeDefList +sem_TypeAttributeDefList list =+ (Prelude.foldr sem_TypeAttributeDefList_Cons sem_TypeAttributeDefList_Nil (Prelude.map sem_TypeAttributeDef list) )+-- semantic domain+type T_TypeAttributeDefList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( TypeAttributeDefList ,([(String, Maybe Type)]),TypeAttributeDefList ,TypeAttributeDefList )+data Inh_TypeAttributeDefList = Inh_TypeAttributeDefList {cat_Inh_TypeAttributeDefList :: Catalog,idenv_Inh_TypeAttributeDefList :: IDEnv,lib_Inh_TypeAttributeDefList :: LocalBindings}+data Syn_TypeAttributeDefList = Syn_TypeAttributeDefList {annotatedTree_Syn_TypeAttributeDefList :: TypeAttributeDefList ,attrs_Syn_TypeAttributeDefList :: ([(String, Maybe Type)]),fixedUpIdentifiersTree_Syn_TypeAttributeDefList :: TypeAttributeDefList ,originalTree_Syn_TypeAttributeDefList :: TypeAttributeDefList }+wrap_TypeAttributeDefList :: T_TypeAttributeDefList ->+ Inh_TypeAttributeDefList ->+ Syn_TypeAttributeDefList +wrap_TypeAttributeDefList sem (Inh_TypeAttributeDefList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_TypeAttributeDefList _lhsOannotatedTree _lhsOattrs _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_TypeAttributeDefList_Cons :: T_TypeAttributeDef ->+ T_TypeAttributeDefList ->+ T_TypeAttributeDefList +sem_TypeAttributeDefList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOattrs :: ([(String, Maybe Type)])+ _lhsOannotatedTree :: TypeAttributeDefList + _lhsOfixedUpIdentifiersTree :: TypeAttributeDefList + _lhsOoriginalTree :: TypeAttributeDefList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: TypeAttributeDef + _hdIattrName :: String+ _hdIfixedUpIdentifiersTree :: TypeAttributeDef + _hdInamedType :: (Maybe Type)+ _hdIoriginalTree :: TypeAttributeDef + _tlIannotatedTree :: TypeAttributeDefList + _tlIattrs :: ([(String, Maybe Type)])+ _tlIfixedUpIdentifiersTree :: TypeAttributeDefList + _tlIoriginalTree :: TypeAttributeDefList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 43, column 12)+ _lhsOattrs =+ (_hdIattrName, _hdInamedType) : _tlIattrs+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIattrName,_hdIfixedUpIdentifiersTree,_hdInamedType,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIattrs,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_TypeAttributeDefList_Nil :: T_TypeAttributeDefList +sem_TypeAttributeDefList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOattrs :: ([(String, Maybe Type)])+ _lhsOannotatedTree :: TypeAttributeDefList + _lhsOfixedUpIdentifiersTree :: TypeAttributeDefList + _lhsOoriginalTree :: TypeAttributeDefList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/MiscCreates.ag"(line 44, column 11)+ _lhsOattrs =+ []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOattrs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- TypeName ----------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + namedType : Maybe Type+ originalTree : SELF + alternatives:+ alternative ArrayTypeName:+ child ann : {Annotation}+ child typ : TypeName + visit 0:+ local tpe : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Prec2TypeName:+ child ann : {Annotation}+ child tn : {String}+ child prec : {Integer}+ child prec1 : {Integer}+ visit 0:+ local tpe : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative PrecTypeName:+ child ann : {Annotation}+ child tn : {String}+ child prec : {Integer}+ visit 0:+ local tpe : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative SetOfTypeName:+ child ann : {Annotation}+ child typ : TypeName + visit 0:+ local tpe : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative SimpleTypeName:+ child ann : {Annotation}+ child tn : {String}+ visit 0:+ local tpe : _+ local backTree : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data TypeName = ArrayTypeName (Annotation) (TypeName ) + | Prec2TypeName (Annotation) (String) (Integer) (Integer) + | PrecTypeName (Annotation) (String) (Integer) + | SetOfTypeName (Annotation) (TypeName ) + | SimpleTypeName (Annotation) (String) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_TypeName :: TypeName ->+ T_TypeName +sem_TypeName (ArrayTypeName _ann _typ ) =+ (sem_TypeName_ArrayTypeName _ann (sem_TypeName _typ ) )+sem_TypeName (Prec2TypeName _ann _tn _prec _prec1 ) =+ (sem_TypeName_Prec2TypeName _ann _tn _prec _prec1 )+sem_TypeName (PrecTypeName _ann _tn _prec ) =+ (sem_TypeName_PrecTypeName _ann _tn _prec )+sem_TypeName (SetOfTypeName _ann _typ ) =+ (sem_TypeName_SetOfTypeName _ann (sem_TypeName _typ ) )+sem_TypeName (SimpleTypeName _ann _tn ) =+ (sem_TypeName_SimpleTypeName _ann _tn )+-- semantic domain+type T_TypeName = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( TypeName ,TypeName ,(Maybe Type),TypeName )+data Inh_TypeName = Inh_TypeName {cat_Inh_TypeName :: Catalog,idenv_Inh_TypeName :: IDEnv,lib_Inh_TypeName :: LocalBindings}+data Syn_TypeName = Syn_TypeName {annotatedTree_Syn_TypeName :: TypeName ,fixedUpIdentifiersTree_Syn_TypeName :: TypeName ,namedType_Syn_TypeName :: (Maybe Type),originalTree_Syn_TypeName :: TypeName }+wrap_TypeName :: T_TypeName ->+ Inh_TypeName ->+ Syn_TypeName +wrap_TypeName sem (Inh_TypeName _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_TypeName _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOnamedType _lhsOoriginalTree ))+sem_TypeName_ArrayTypeName :: Annotation ->+ T_TypeName ->+ T_TypeName +sem_TypeName_ArrayTypeName ann_ typ_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOnamedType :: (Maybe Type)+ _lhsOannotatedTree :: TypeName + _lhsOfixedUpIdentifiersTree :: TypeName + _lhsOoriginalTree :: TypeName + _typOcat :: Catalog+ _typOidenv :: IDEnv+ _typOlib :: LocalBindings+ _typIannotatedTree :: TypeName + _typIfixedUpIdentifiersTree :: TypeName + _typInamedType :: (Maybe Type)+ _typIoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 19, column 10)+ _lhsOnamedType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 20, column 10)+ _lhsOannotatedTree =+ addTypeErrors (tes _tpe ) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 27, column 9)+ _tpe =+ lmt _typInamedType >>= Right . ArrayType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 28, column 9)+ _backTree =+ ArrayTypeName ann_ _typIannotatedTree+ -- self rule+ _annotatedTree =+ ArrayTypeName ann_ _typIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ ArrayTypeName ann_ _typIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ ArrayTypeName ann_ _typIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _typOcat =+ _lhsIcat+ -- copy rule (down)+ _typOidenv =+ _lhsIidenv+ -- copy rule (down)+ _typOlib =+ _lhsIlib+ ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =+ typ_ _typOcat _typOidenv _typOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))+sem_TypeName_Prec2TypeName :: Annotation ->+ String ->+ Integer ->+ Integer ->+ T_TypeName +sem_TypeName_Prec2TypeName ann_ tn_ prec_ prec1_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOnamedType :: (Maybe Type)+ _lhsOannotatedTree :: TypeName + _lhsOfixedUpIdentifiersTree :: TypeName + _lhsOoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 19, column 10)+ _lhsOnamedType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 20, column 10)+ _lhsOannotatedTree =+ addTypeErrors (tes _tpe ) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 9)+ _tpe =+ catLookupType _lhsIcat $ canonicalizeTypeName tn_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 9)+ _backTree =+ Prec2TypeName ann_ tn_ prec_ prec1_+ -- self rule+ _annotatedTree =+ Prec2TypeName ann_ tn_ prec_ prec1_+ -- self rule+ _fixedUpIdentifiersTree =+ Prec2TypeName ann_ tn_ prec_ prec1_+ -- self rule+ _originalTree =+ Prec2TypeName ann_ tn_ prec_ prec1_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))+sem_TypeName_PrecTypeName :: Annotation ->+ String ->+ Integer ->+ T_TypeName +sem_TypeName_PrecTypeName ann_ tn_ prec_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOnamedType :: (Maybe Type)+ _lhsOannotatedTree :: TypeName + _lhsOfixedUpIdentifiersTree :: TypeName + _lhsOoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 19, column 10)+ _lhsOnamedType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 20, column 10)+ _lhsOannotatedTree =+ addTypeErrors (tes _tpe ) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 33, column 9)+ _tpe =+ catLookupType _lhsIcat $ canonicalizeTypeName tn_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 34, column 9)+ _backTree =+ PrecTypeName ann_ tn_ prec_+ -- self rule+ _annotatedTree =+ PrecTypeName ann_ tn_ prec_+ -- self rule+ _fixedUpIdentifiersTree =+ PrecTypeName ann_ tn_ prec_+ -- self rule+ _originalTree =+ PrecTypeName ann_ tn_ prec_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))+sem_TypeName_SetOfTypeName :: Annotation ->+ T_TypeName ->+ T_TypeName +sem_TypeName_SetOfTypeName ann_ typ_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOnamedType :: (Maybe Type)+ _lhsOannotatedTree :: TypeName + _lhsOfixedUpIdentifiersTree :: TypeName + _lhsOoriginalTree :: TypeName + _typOcat :: Catalog+ _typOidenv :: IDEnv+ _typOlib :: LocalBindings+ _typIannotatedTree :: TypeName + _typIfixedUpIdentifiersTree :: TypeName + _typInamedType :: (Maybe Type)+ _typIoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 19, column 10)+ _lhsOnamedType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 20, column 10)+ _lhsOannotatedTree =+ addTypeErrors (tes _tpe ) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 30, column 9)+ _tpe =+ lmt _typInamedType >>= Right . SetOfType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 31, column 9)+ _backTree =+ SetOfTypeName ann_ _typIannotatedTree+ -- self rule+ _annotatedTree =+ SetOfTypeName ann_ _typIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ SetOfTypeName ann_ _typIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ SetOfTypeName ann_ _typIoriginalTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _typOcat =+ _lhsIcat+ -- copy rule (down)+ _typOidenv =+ _lhsIidenv+ -- copy rule (down)+ _typOlib =+ _lhsIlib+ ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =+ typ_ _typOcat _typOidenv _typOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))+sem_TypeName_SimpleTypeName :: Annotation ->+ String ->+ T_TypeName +sem_TypeName_SimpleTypeName ann_ tn_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOnamedType :: (Maybe Type)+ _lhsOannotatedTree :: TypeName + _lhsOfixedUpIdentifiersTree :: TypeName + _lhsOoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 19, column 10)+ _lhsOnamedType =+ etmt _tpe+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 20, column 10)+ _lhsOannotatedTree =+ addTypeErrors (tes _tpe ) _backTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 24, column 9)+ _tpe =+ catLookupType _lhsIcat $ canonicalizeTypeName tn_+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 25, column 9)+ _backTree =+ SimpleTypeName ann_ tn_+ -- self rule+ _annotatedTree =+ SimpleTypeName ann_ tn_+ -- self rule+ _fixedUpIdentifiersTree =+ SimpleTypeName ann_ tn_+ -- self rule+ _originalTree =+ SimpleTypeName ann_ tn_+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedType,_lhsOoriginalTree)))+-- TypeNameList ------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + fixedUpIdentifiersTree : SELF + namedTypes : [Maybe Type]+ originalTree : SELF + alternatives:+ alternative Cons:+ child hd : TypeName + child tl : TypeNameList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type TypeNameList = [TypeName ]+-- cata+sem_TypeNameList :: TypeNameList ->+ T_TypeNameList +sem_TypeNameList list =+ (Prelude.foldr sem_TypeNameList_Cons sem_TypeNameList_Nil (Prelude.map sem_TypeName list) )+-- semantic domain+type T_TypeNameList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( TypeNameList ,TypeNameList ,([Maybe Type]),TypeNameList )+data Inh_TypeNameList = Inh_TypeNameList {cat_Inh_TypeNameList :: Catalog,idenv_Inh_TypeNameList :: IDEnv,lib_Inh_TypeNameList :: LocalBindings}+data Syn_TypeNameList = Syn_TypeNameList {annotatedTree_Syn_TypeNameList :: TypeNameList ,fixedUpIdentifiersTree_Syn_TypeNameList :: TypeNameList ,namedTypes_Syn_TypeNameList :: ([Maybe Type]),originalTree_Syn_TypeNameList :: TypeNameList }+wrap_TypeNameList :: T_TypeNameList ->+ Inh_TypeNameList ->+ Syn_TypeNameList +wrap_TypeNameList sem (Inh_TypeNameList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedTypes,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_TypeNameList _lhsOannotatedTree _lhsOfixedUpIdentifiersTree _lhsOnamedTypes _lhsOoriginalTree ))+sem_TypeNameList_Cons :: T_TypeName ->+ T_TypeNameList ->+ T_TypeNameList +sem_TypeNameList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOnamedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: TypeNameList + _lhsOfixedUpIdentifiersTree :: TypeNameList + _lhsOoriginalTree :: TypeNameList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: TypeName + _hdIfixedUpIdentifiersTree :: TypeName + _hdInamedType :: (Maybe Type)+ _hdIoriginalTree :: TypeName + _tlIannotatedTree :: TypeNameList + _tlIfixedUpIdentifiersTree :: TypeNameList + _tlInamedTypes :: ([Maybe Type])+ _tlIoriginalTree :: TypeNameList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 37, column 12)+ _lhsOnamedTypes =+ _hdInamedType : _tlInamedTypes+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIfixedUpIdentifiersTree,_hdInamedType,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIfixedUpIdentifiersTree,_tlInamedTypes,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedTypes,_lhsOoriginalTree)))+sem_TypeNameList_Nil :: T_TypeNameList +sem_TypeNameList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOnamedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: TypeNameList + _lhsOfixedUpIdentifiersTree :: TypeNameList + _lhsOoriginalTree :: TypeNameList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Ddl/Drops.ag"(line 38, column 11)+ _lhsOnamedTypes =+ []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOfixedUpIdentifiersTree,_lhsOnamedTypes,_lhsOoriginalTree)))+-- VarDef ------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + def : (String,Maybe Type)+ fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative ParamAlias:+ child ann : {Annotation}+ child name : {NameComponent}+ child i : {Integer}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative VarAlias:+ child ann : {Annotation}+ child name : {NameComponent}+ child aliased : Name + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative VarDef:+ child ann : {Annotation}+ child name : {NameComponent}+ child typ : TypeName + child value : {Maybe ScalarExpr}+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data VarDef = ParamAlias (Annotation) (NameComponent) (Integer) + | VarAlias (Annotation) (NameComponent) (Name ) + | VarDef (Annotation) (NameComponent) (TypeName ) ((Maybe ScalarExpr)) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_VarDef :: VarDef ->+ T_VarDef +sem_VarDef (ParamAlias _ann _name _i ) =+ (sem_VarDef_ParamAlias _ann _name _i )+sem_VarDef (VarAlias _ann _name _aliased ) =+ (sem_VarDef_VarAlias _ann _name (sem_Name _aliased ) )+sem_VarDef (VarDef _ann _name _typ _value ) =+ (sem_VarDef_VarDef _ann _name (sem_TypeName _typ ) _value )+-- semantic domain+type T_VarDef = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( VarDef ,((String,Maybe Type)),VarDef ,VarDef )+data Inh_VarDef = Inh_VarDef {cat_Inh_VarDef :: Catalog,idenv_Inh_VarDef :: IDEnv,lib_Inh_VarDef :: LocalBindings}+data Syn_VarDef = Syn_VarDef {annotatedTree_Syn_VarDef :: VarDef ,def_Syn_VarDef :: ((String,Maybe Type)),fixedUpIdentifiersTree_Syn_VarDef :: VarDef ,originalTree_Syn_VarDef :: VarDef }+wrap_VarDef :: T_VarDef ->+ Inh_VarDef ->+ Syn_VarDef +wrap_VarDef sem (Inh_VarDef _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOdef,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_VarDef _lhsOannotatedTree _lhsOdef _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_VarDef_ParamAlias :: Annotation ->+ NameComponent ->+ Integer ->+ T_VarDef +sem_VarDef_ParamAlias ann_ name_ i_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOdef :: ((String,Maybe Type))+ _lhsOannotatedTree :: VarDef + _lhsOfixedUpIdentifiersTree :: VarDef + _lhsOoriginalTree :: VarDef + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 14, column 18)+ _lhsOdef =+ (ncStr name_, Nothing)+ -- self rule+ _annotatedTree =+ ParamAlias ann_ name_ i_+ -- self rule+ _fixedUpIdentifiersTree =+ ParamAlias ann_ name_ i_+ -- self rule+ _originalTree =+ ParamAlias ann_ name_ i_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOdef,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_VarDef_VarAlias :: Annotation ->+ NameComponent ->+ T_Name ->+ T_VarDef +sem_VarDef_VarAlias ann_ name_ aliased_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOdef :: ((String,Maybe Type))+ _lhsOannotatedTree :: VarDef + _lhsOfixedUpIdentifiersTree :: VarDef + _lhsOoriginalTree :: VarDef + _aliasedOcat :: Catalog+ _aliasedOidenv :: IDEnv+ _aliasedOlib :: LocalBindings+ _aliasedIannotatedTree :: Name + _aliasedIfixedUpIdentifiersTree :: Name + _aliasedIoriginalTree :: Name + _aliasedItbAnnotatedTree :: Name + _aliasedItbUType :: (Maybe ([(String,Type)],[(String,Type)]))+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 13, column 16)+ _lhsOdef =+ (ncStr name_, Nothing)+ -- self rule+ _annotatedTree =+ VarAlias ann_ name_ _aliasedIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ VarAlias ann_ name_ _aliasedIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ VarAlias ann_ name_ _aliasedIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _aliasedOcat =+ _lhsIcat+ -- copy rule (down)+ _aliasedOidenv =+ _lhsIidenv+ -- copy rule (down)+ _aliasedOlib =+ _lhsIlib+ ( _aliasedIannotatedTree,_aliasedIfixedUpIdentifiersTree,_aliasedIoriginalTree,_aliasedItbAnnotatedTree,_aliasedItbUType) =+ aliased_ _aliasedOcat _aliasedOidenv _aliasedOlib + in ( _lhsOannotatedTree,_lhsOdef,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_VarDef_VarDef :: Annotation ->+ NameComponent ->+ T_TypeName ->+ (Maybe ScalarExpr) ->+ T_VarDef +sem_VarDef_VarDef ann_ name_ typ_ value_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOdef :: ((String,Maybe Type))+ _lhsOannotatedTree :: VarDef + _lhsOfixedUpIdentifiersTree :: VarDef + _lhsOoriginalTree :: VarDef + _typOcat :: Catalog+ _typOidenv :: IDEnv+ _typOlib :: LocalBindings+ _typIannotatedTree :: TypeName + _typIfixedUpIdentifiersTree :: TypeName + _typInamedType :: (Maybe Type)+ _typIoriginalTree :: TypeName + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 10, column 14)+ _lhsOdef =+ (ncStr name_, if _typInamedType == Just (Pseudo Record)+ then Just (PgRecord Nothing)+ else _typInamedType)+ -- self rule+ _annotatedTree =+ VarDef ann_ name_ _typIannotatedTree value_+ -- self rule+ _fixedUpIdentifiersTree =+ VarDef ann_ name_ _typIfixedUpIdentifiersTree value_+ -- self rule+ _originalTree =+ VarDef ann_ name_ _typIoriginalTree value_+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _typOcat =+ _lhsIcat+ -- copy rule (down)+ _typOidenv =+ _lhsIidenv+ -- copy rule (down)+ _typOlib =+ _lhsIlib+ ( _typIannotatedTree,_typIfixedUpIdentifiersTree,_typInamedType,_typIoriginalTree) =+ typ_ _typOcat _typOidenv _typOlib + in ( _lhsOannotatedTree,_lhsOdef,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- VarDefList --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + defs : [(String,Maybe Type)]+ fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative Cons:+ child hd : VarDef + child tl : VarDefList + visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type VarDefList = [VarDef ]+-- cata+sem_VarDefList :: VarDefList ->+ T_VarDefList +sem_VarDefList list =+ (Prelude.foldr sem_VarDefList_Cons sem_VarDefList_Nil (Prelude.map sem_VarDef list) )+-- semantic domain+type T_VarDefList = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( VarDefList ,([(String,Maybe Type)]),VarDefList ,VarDefList )+data Inh_VarDefList = Inh_VarDefList {cat_Inh_VarDefList :: Catalog,idenv_Inh_VarDefList :: IDEnv,lib_Inh_VarDefList :: LocalBindings}+data Syn_VarDefList = Syn_VarDefList {annotatedTree_Syn_VarDefList :: VarDefList ,defs_Syn_VarDefList :: ([(String,Maybe Type)]),fixedUpIdentifiersTree_Syn_VarDefList :: VarDefList ,originalTree_Syn_VarDefList :: VarDefList }+wrap_VarDefList :: T_VarDefList ->+ Inh_VarDefList ->+ Syn_VarDefList +wrap_VarDefList sem (Inh_VarDefList _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOdefs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_VarDefList _lhsOannotatedTree _lhsOdefs _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_VarDefList_Cons :: T_VarDef ->+ T_VarDefList ->+ T_VarDefList +sem_VarDefList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOdefs :: ([(String,Maybe Type)])+ _lhsOannotatedTree :: VarDefList + _lhsOfixedUpIdentifiersTree :: VarDefList + _lhsOoriginalTree :: VarDefList + _hdOcat :: Catalog+ _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOcat :: Catalog+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: VarDef + _hdIdef :: ((String,Maybe Type))+ _hdIfixedUpIdentifiersTree :: VarDef + _hdIoriginalTree :: VarDef + _tlIannotatedTree :: VarDefList + _tlIdefs :: ([(String,Maybe Type)])+ _tlIfixedUpIdentifiersTree :: VarDefList + _tlIoriginalTree :: VarDefList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 17, column 12)+ _lhsOdefs =+ _hdIdef : _tlIdefs+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOcat =+ _lhsIcat+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOcat =+ _lhsIcat+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIdef,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIdefs,_tlIfixedUpIdentifiersTree,_tlIoriginalTree) =+ tl_ _tlOcat _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOdefs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+sem_VarDefList_Nil :: T_VarDefList +sem_VarDefList_Nil =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOdefs :: ([(String,Maybe Type)])+ _lhsOannotatedTree :: VarDefList + _lhsOfixedUpIdentifiersTree :: VarDefList + _lhsOoriginalTree :: VarDefList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/Plpgsql/Block.ag"(line 18, column 11)+ _lhsOdefs =+ []+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOdefs,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- WithQuery ---------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + catUpdates : [CatalogUpdate]+ cidenv : IDEnv+ fixedUpIdentifiersTree : SELF + originalTree : SELF + alternatives:+ alternative WithQuery:+ child ann : {Annotation}+ child name : {NameComponent}+ child colAliases : {Maybe [NameComponent]}+ child ex : QueryExpr + visit 0:+ local tpe : _+ local backTree : _+ local attrs : _+ local catUpdates : _+ local statementType : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+data WithQuery = WithQuery (Annotation) (NameComponent) ((Maybe [NameComponent])) (QueryExpr ) + deriving ( Data,Eq,Show,Typeable)+-- cata+sem_WithQuery :: WithQuery ->+ T_WithQuery +sem_WithQuery (WithQuery _ann _name _colAliases _ex ) =+ (sem_WithQuery_WithQuery _ann _name _colAliases (sem_QueryExpr _ex ) )+-- semantic domain+type T_WithQuery = Catalog ->+ IDEnv ->+ LocalBindings ->+ ( WithQuery ,([CatalogUpdate]),IDEnv,WithQuery ,WithQuery )+data Inh_WithQuery = Inh_WithQuery {cat_Inh_WithQuery :: Catalog,idenv_Inh_WithQuery :: IDEnv,lib_Inh_WithQuery :: LocalBindings}+data Syn_WithQuery = Syn_WithQuery {annotatedTree_Syn_WithQuery :: WithQuery ,catUpdates_Syn_WithQuery :: ([CatalogUpdate]),cidenv_Syn_WithQuery :: IDEnv,fixedUpIdentifiersTree_Syn_WithQuery :: WithQuery ,originalTree_Syn_WithQuery :: WithQuery }+wrap_WithQuery :: T_WithQuery ->+ Inh_WithQuery ->+ Syn_WithQuery +wrap_WithQuery sem (Inh_WithQuery _lhsIcat _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIidenv _lhsIlib + in (Syn_WithQuery _lhsOannotatedTree _lhsOcatUpdates _lhsOcidenv _lhsOfixedUpIdentifiersTree _lhsOoriginalTree ))+sem_WithQuery_WithQuery :: Annotation ->+ NameComponent ->+ (Maybe [NameComponent]) ->+ T_QueryExpr ->+ T_WithQuery +sem_WithQuery_WithQuery ann_ name_ colAliases_ ex_ =+ (\ _lhsIcat+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOfixedUpIdentifiersTree :: WithQuery + _exOcsql :: LocalBindings+ _exOexpectedTypes :: ([Maybe Type])+ _lhsOannotatedTree :: WithQuery + _lhsOoriginalTree :: WithQuery + _lhsOcatUpdates :: ([CatalogUpdate])+ _lhsOcidenv :: IDEnv+ _exOcat :: Catalog+ _exOidenv :: IDEnv+ _exOlib :: LocalBindings+ _exIannotatedTree :: QueryExpr + _exIcidenv :: IDEnv+ _exIfixedUpIdentifiersTree :: QueryExpr + _exIlibUpdates :: ([LocalBindingsUpdate])+ _exIoriginalTree :: QueryExpr + _exIuType :: (Maybe [(String,Type)])+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 245, column 9)+ _lhsOfixedUpIdentifiersTree =+ undefined+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 131, column 17)+ _exOcsql =+ emptyBindings+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 272, column 9)+ _tpe =+ Right $ Pseudo Void+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 273, column 9)+ _backTree =+ WithQuery ann_ name_ colAliases_ _exIannotatedTree+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 274, column 9)+ _attrs =+ maybe [] id $ _exIuType+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 275, column 9)+ _catUpdates =+ [CatCreateView (ncStr name_) _attrs ]+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 276, column 9)+ _statementType =+ Nothing+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/ParameterizedStatements.ag"(line 180, column 17)+ _exOexpectedTypes =+ []+ -- self rule+ _annotatedTree =+ WithQuery ann_ name_ colAliases_ _exIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ WithQuery ann_ name_ colAliases_ _exIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ WithQuery ann_ name_ colAliases_ _exIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (from local)+ _lhsOcatUpdates =+ _catUpdates+ -- copy rule (up)+ _lhsOcidenv =+ _exIcidenv+ -- copy rule (down)+ _exOcat =+ _lhsIcat+ -- copy rule (down)+ _exOidenv =+ _lhsIidenv+ -- copy rule (down)+ _exOlib =+ _lhsIlib+ ( _exIannotatedTree,_exIcidenv,_exIfixedUpIdentifiersTree,_exIlibUpdates,_exIoriginalTree,_exIuType) =+ ex_ _exOcat _exOcsql _exOexpectedTypes _exOidenv _exOlib + in ( _lhsOannotatedTree,_lhsOcatUpdates,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree)))+-- WithQueryList -----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ catUpdates : [CatalogUpdate]+ idenv : IDEnv+ lib : LocalBindings+ synthesized attributes:+ annotatedTree : SELF + cidenv : IDEnv+ fixedUpIdentifiersTree : SELF + originalTree : SELF + producedCat : Catalog+ alternatives:+ alternative Cons:+ child hd : WithQuery + child tl : WithQueryList + visit 0:+ local newCat : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local newCat : _+ local annotatedTree : _+ local fixedUpIdentifiersTree : _+ local originalTree : _+-}+type WithQueryList = [WithQuery ]+-- cata+sem_WithQueryList :: WithQueryList ->+ T_WithQueryList +sem_WithQueryList list =+ (Prelude.foldr sem_WithQueryList_Cons sem_WithQueryList_Nil (Prelude.map sem_WithQuery list) )+-- semantic domain+type T_WithQueryList = Catalog ->+ ([CatalogUpdate]) ->+ IDEnv ->+ LocalBindings ->+ ( WithQueryList ,IDEnv,WithQueryList ,WithQueryList ,Catalog)+data Inh_WithQueryList = Inh_WithQueryList {cat_Inh_WithQueryList :: Catalog,catUpdates_Inh_WithQueryList :: ([CatalogUpdate]),idenv_Inh_WithQueryList :: IDEnv,lib_Inh_WithQueryList :: LocalBindings}+data Syn_WithQueryList = Syn_WithQueryList {annotatedTree_Syn_WithQueryList :: WithQueryList ,cidenv_Syn_WithQueryList :: IDEnv,fixedUpIdentifiersTree_Syn_WithQueryList :: WithQueryList ,originalTree_Syn_WithQueryList :: WithQueryList ,producedCat_Syn_WithQueryList :: Catalog}+wrap_WithQueryList :: T_WithQueryList ->+ Inh_WithQueryList ->+ Syn_WithQueryList +wrap_WithQueryList sem (Inh_WithQueryList _lhsIcat _lhsIcatUpdates _lhsIidenv _lhsIlib ) =+ (let ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat) = sem _lhsIcat _lhsIcatUpdates _lhsIidenv _lhsIlib + in (Syn_WithQueryList _lhsOannotatedTree _lhsOcidenv _lhsOfixedUpIdentifiersTree _lhsOoriginalTree _lhsOproducedCat ))+sem_WithQueryList_Cons :: T_WithQuery ->+ T_WithQueryList ->+ T_WithQueryList +sem_WithQueryList_Cons hd_ tl_ =+ (\ _lhsIcat+ _lhsIcatUpdates+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOcidenv :: IDEnv+ _hdOcat :: Catalog+ _tlOcat :: Catalog+ _lhsOproducedCat :: Catalog+ _tlOcatUpdates :: ([CatalogUpdate])+ _lhsOannotatedTree :: WithQueryList + _lhsOfixedUpIdentifiersTree :: WithQueryList + _lhsOoriginalTree :: WithQueryList + _hdOidenv :: IDEnv+ _hdOlib :: LocalBindings+ _tlOidenv :: IDEnv+ _tlOlib :: LocalBindings+ _hdIannotatedTree :: WithQuery + _hdIcatUpdates :: ([CatalogUpdate])+ _hdIcidenv :: IDEnv+ _hdIfixedUpIdentifiersTree :: WithQuery + _hdIoriginalTree :: WithQuery + _tlIannotatedTree :: WithQueryList + _tlIcidenv :: IDEnv+ _tlIfixedUpIdentifiersTree :: WithQueryList + _tlIoriginalTree :: WithQueryList + _tlIproducedCat :: Catalog+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 253, column 12)+ _lhsOcidenv =+ undefined+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 256, column 9)+ _newCat =+ fromRight _lhsIcat $ updateCatalog _lhsIcat _lhsIcatUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 258, column 9)+ _hdOcat =+ _newCat+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 259, column 9)+ _tlOcat =+ _newCat+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 263, column 9)+ _lhsOproducedCat =+ _tlIproducedCat+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 266, column 9)+ _tlOcatUpdates =+ _hdIcatUpdates+ -- self rule+ _annotatedTree =+ (:) _hdIannotatedTree _tlIannotatedTree+ -- self rule+ _fixedUpIdentifiersTree =+ (:) _hdIfixedUpIdentifiersTree _tlIfixedUpIdentifiersTree+ -- self rule+ _originalTree =+ (:) _hdIoriginalTree _tlIoriginalTree+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ -- copy rule (down)+ _hdOidenv =+ _lhsIidenv+ -- copy rule (down)+ _hdOlib =+ _lhsIlib+ -- copy rule (down)+ _tlOidenv =+ _lhsIidenv+ -- copy rule (down)+ _tlOlib =+ _lhsIlib+ ( _hdIannotatedTree,_hdIcatUpdates,_hdIcidenv,_hdIfixedUpIdentifiersTree,_hdIoriginalTree) =+ hd_ _hdOcat _hdOidenv _hdOlib + ( _tlIannotatedTree,_tlIcidenv,_tlIfixedUpIdentifiersTree,_tlIoriginalTree,_tlIproducedCat) =+ tl_ _tlOcat _tlOcatUpdates _tlOidenv _tlOlib + in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat)))+sem_WithQueryList_Nil :: T_WithQueryList +sem_WithQueryList_Nil =+ (\ _lhsIcat+ _lhsIcatUpdates+ _lhsIidenv+ _lhsIlib ->+ (let _lhsOcidenv :: IDEnv+ _lhsOproducedCat :: Catalog+ _lhsOannotatedTree :: WithQueryList + _lhsOfixedUpIdentifiersTree :: WithQueryList + _lhsOoriginalTree :: WithQueryList + -- "src/Database/HsSqlPpp/Internals/TypeChecking/FixUpIdentifiers.ag"(line 256, column 11)+ _lhsOcidenv =+ emptyIDEnv "empty with query list"+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 256, column 9)+ _newCat =+ fromRight _lhsIcat $ updateCatalog _lhsIcat _lhsIcatUpdates+ -- "src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryStatement.ag"(line 268, column 9)+ _lhsOproducedCat =+ _newCat+ -- self rule+ _annotatedTree =+ []+ -- self rule+ _fixedUpIdentifiersTree =+ []+ -- self rule+ _originalTree =+ []+ -- self rule+ _lhsOannotatedTree =+ _annotatedTree+ -- self rule+ _lhsOfixedUpIdentifiersTree =+ _fixedUpIdentifiersTree+ -- self rule+ _lhsOoriginalTree =+ _originalTree+ in ( _lhsOannotatedTree,_lhsOcidenv,_lhsOfixedUpIdentifiersTree,_lhsOoriginalTree,_lhsOproducedCat)))
src/Database/HsSqlPpp/Internals/Catalog/DefaultTemplate1Catalog.lhs view
@@ -1,13044 +1,13739 @@ --This file is auto generated, to regenerate run-MUMBLE MUMBLE SOMETHING--from the project root (i.e. where the cabal file is located).--> module Database.HsSqlPpp.Internals.Catalog.DefaultTemplate1Catalog-> (defaultTemplate1Catalog) where->-> import Database.HsSqlPpp.Internals.Catalog.CatalogInternal-> import Database.HsSqlPpp.Internals.TypeType->-> defaultTemplate1Catalog :: Catalog-> defaultTemplate1Catalog =-> (\l -> case l of-> Left x -> error $ show x-> Right e -> e) $-> updateCatalog defaultCatalog-- -> [CatCreateScalar (ScalarType "bool") "B" True,-> CatCreateScalar (ScalarType "bytea") "U" False,-> CatCreateScalar (ScalarType "char") "S" False,-> CatCreateScalar (ScalarType "name") "S" False,-> CatCreateScalar (ScalarType "int8") "N" False,-> CatCreateScalar (ScalarType "int2") "N" False,-> CatCreateScalar (ScalarType "int2vector") "A" False,-> CatCreateScalar (ScalarType "int4") "N" False,-> CatCreateScalar (ScalarType "regproc") "N" False,-> CatCreateScalar (ScalarType "text") "S" True,-> CatCreateScalar (ScalarType "oid") "N" True,-> CatCreateScalar (ScalarType "tid") "U" False,-> CatCreateScalar (ScalarType "xid") "U" False,-> CatCreateScalar (ScalarType "cid") "U" False,-> CatCreateScalar (ScalarType "oidvector") "A" False,-> CatCreateScalar (ScalarType "xml") "U" False,-> CatCreateScalar (ScalarType "point") "G" False,-> CatCreateScalar (ScalarType "lseg") "G" False,-> CatCreateScalar (ScalarType "path") "G" False,-> CatCreateScalar (ScalarType "box") "G" False,-> CatCreateScalar (ScalarType "polygon") "G" False,-> CatCreateScalar (ScalarType "line") "G" False,-> CatCreateScalar (ScalarType "float4") "N" False,-> CatCreateScalar (ScalarType "float8") "N" True,-> CatCreateScalar (ScalarType "abstime") "D" False,-> CatCreateScalar (ScalarType "reltime") "T" False,-> CatCreateScalar (ScalarType "tinterval") "T" False,-> CatCreateScalar (ScalarType "circle") "G" False,-> CatCreateScalar (ScalarType "money") "N" False,-> CatCreateScalar (ScalarType "macaddr") "U" False,-> CatCreateScalar (ScalarType "inet") "I" True,-> CatCreateScalar (ScalarType "cidr") "I" False,-> CatCreateScalar (ScalarType "aclitem") "U" False,-> CatCreateScalar (ScalarType "bpchar") "S" False,-> CatCreateScalar (ScalarType "varchar") "S" False,-> CatCreateScalar (ScalarType "date") "D" False,-> CatCreateScalar (ScalarType "time") "D" False,-> CatCreateScalar (ScalarType "timestamp") "D" False,-> CatCreateScalar (ScalarType "timestamptz") "D" True,-> CatCreateScalar (ScalarType "interval") "T" True,-> CatCreateScalar (ScalarType "timetz") "D" False,-> CatCreateScalar (ScalarType "bit") "V" False,-> CatCreateScalar (ScalarType "varbit") "V" True,-> CatCreateScalar (ScalarType "numeric") "N" False,-> CatCreateScalar (ScalarType "refcursor") "U" False,-> CatCreateScalar (ScalarType "regprocedure") "N" False,-> CatCreateScalar (ScalarType "regoper") "N" False,-> CatCreateScalar (ScalarType "regoperator") "N" False,-> CatCreateScalar (ScalarType "regclass") "N" False,-> CatCreateScalar (ScalarType "regtype") "N" False,-> CatCreateScalar (ScalarType "uuid") "U" False,-> CatCreateScalar (ScalarType "tsvector") "U" False,-> CatCreateScalar (ScalarType "gtsvector") "U" False,-> CatCreateScalar (ScalarType "tsquery") "U" False,-> CatCreateScalar (ScalarType "regconfig") "N" False,-> CatCreateScalar (ScalarType "regdictionary") "N" False,-> CatCreateScalar (ScalarType "txid_snapshot") "U" False,-> CatCreateDomain (DomainType "information_schema.cardinal_number")-> (ScalarType "int4"),-> CatCreateDomain (DomainType "information_schema.character_data")-> (ScalarType "varchar"),-> CatCreateDomain (DomainType "information_schema.sql_identifier")-> (ScalarType "varchar"),-> CatCreateDomain (DomainType "information_schema.time_stamp")-> (ScalarType "timestamptz"),-> CatCreateCast (ScalarType "int8") (ScalarType "int2")-> AssignmentCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "float4")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "float8")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "numeric")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "int8")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "int4")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "float4")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "float8")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "numeric")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "int8")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "int2")-> AssignmentCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "float4")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "float8")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "numeric")-> ImplicitCastContext,-> CatCreateCast (ScalarType "float4") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "float4") (ScalarType "int2")-> AssignmentCastContext,-> CatCreateCast (ScalarType "float4") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "float4") (ScalarType "float8")-> ImplicitCastContext,-> CatCreateCast (ScalarType "float4") (ScalarType "numeric")-> AssignmentCastContext,-> CatCreateCast (ScalarType "float8") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "float8") (ScalarType "int2")-> AssignmentCastContext,-> CatCreateCast (ScalarType "float8") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "float8") (ScalarType "float4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "float8") (ScalarType "numeric")-> AssignmentCastContext,-> CatCreateCast (ScalarType "numeric") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "numeric") (ScalarType "int2")-> AssignmentCastContext,-> CatCreateCast (ScalarType "numeric") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "numeric") (ScalarType "float4")-> ImplicitCastContext,-> CatCreateCast (ScalarType "numeric") (ScalarType "float8")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "bool")-> ExplicitCastContext,-> CatCreateCast (ScalarType "bool") (ScalarType "int4")-> ExplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "oid") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "oid") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "oid") (ScalarType "regproc")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regproc") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "regproc")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "regproc")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "regproc")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regproc") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "regproc") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "regproc") (ScalarType "regprocedure")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regprocedure") (ScalarType "regproc")-> ImplicitCastContext,-> CatCreateCast (ScalarType "oid") (ScalarType "regprocedure")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regprocedure") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "regprocedure")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "regprocedure")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "regprocedure")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regprocedure") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "regprocedure") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "oid") (ScalarType "regoper")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regoper") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "regoper")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "regoper")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "regoper")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regoper") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "regoper") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "regoper") (ScalarType "regoperator")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regoperator") (ScalarType "regoper")-> ImplicitCastContext,-> CatCreateCast (ScalarType "oid") (ScalarType "regoperator")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regoperator") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "regoperator")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "regoperator")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "regoperator")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regoperator") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "regoperator") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "oid") (ScalarType "regclass")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regclass") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "regclass")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "regclass")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "regclass")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regclass") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "regclass") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "oid") (ScalarType "regtype")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regtype") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "regtype")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "regtype")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "regtype")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regtype") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "regtype") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "oid") (ScalarType "regconfig")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regconfig") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "regconfig")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "regconfig")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "regconfig")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regconfig") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "regconfig") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "oid") (ScalarType "regdictionary")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regdictionary") (ScalarType "oid")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "regdictionary")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int2") (ScalarType "regdictionary")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "regdictionary")-> ImplicitCastContext,-> CatCreateCast (ScalarType "regdictionary") (ScalarType "int8")-> AssignmentCastContext,-> CatCreateCast (ScalarType "regdictionary") (ScalarType "int4")-> AssignmentCastContext,-> CatCreateCast (ScalarType "text") (ScalarType "regclass")-> ImplicitCastContext,-> CatCreateCast (ScalarType "varchar") (ScalarType "regclass")-> ImplicitCastContext,-> CatCreateCast (ScalarType "text") (ScalarType "bpchar")-> ImplicitCastContext,-> CatCreateCast (ScalarType "text") (ScalarType "varchar")-> ImplicitCastContext,-> CatCreateCast (ScalarType "bpchar") (ScalarType "text")-> ImplicitCastContext,-> CatCreateCast (ScalarType "bpchar") (ScalarType "varchar")-> ImplicitCastContext,-> CatCreateCast (ScalarType "varchar") (ScalarType "text")-> ImplicitCastContext,-> CatCreateCast (ScalarType "varchar") (ScalarType "bpchar")-> ImplicitCastContext,-> CatCreateCast (ScalarType "char") (ScalarType "text")-> ImplicitCastContext,-> CatCreateCast (ScalarType "char") (ScalarType "bpchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "char") (ScalarType "varchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "name") (ScalarType "text")-> ImplicitCastContext,-> CatCreateCast (ScalarType "name") (ScalarType "bpchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "name") (ScalarType "varchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "text") (ScalarType "char")-> AssignmentCastContext,-> CatCreateCast (ScalarType "bpchar") (ScalarType "char")-> AssignmentCastContext,-> CatCreateCast (ScalarType "varchar") (ScalarType "char")-> AssignmentCastContext,-> CatCreateCast (ScalarType "text") (ScalarType "name")-> ImplicitCastContext,-> CatCreateCast (ScalarType "bpchar") (ScalarType "name")-> ImplicitCastContext,-> CatCreateCast (ScalarType "varchar") (ScalarType "name")-> ImplicitCastContext,-> CatCreateCast (ScalarType "char") (ScalarType "int4")-> ExplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "char")-> ExplicitCastContext,-> CatCreateCast (ScalarType "abstime") (ScalarType "date")-> AssignmentCastContext,-> CatCreateCast (ScalarType "abstime") (ScalarType "time")-> AssignmentCastContext,-> CatCreateCast (ScalarType "abstime") (ScalarType "timestamp")-> ImplicitCastContext,-> CatCreateCast (ScalarType "abstime") (ScalarType "timestamptz")-> ImplicitCastContext,-> CatCreateCast (ScalarType "reltime") (ScalarType "interval")-> ImplicitCastContext,-> CatCreateCast (ScalarType "date") (ScalarType "timestamp")-> ImplicitCastContext,-> CatCreateCast (ScalarType "date") (ScalarType "timestamptz")-> ImplicitCastContext,-> CatCreateCast (ScalarType "time") (ScalarType "interval")-> ImplicitCastContext,-> CatCreateCast (ScalarType "time") (ScalarType "timetz")-> ImplicitCastContext,-> CatCreateCast (ScalarType "timestamp") (ScalarType "abstime")-> AssignmentCastContext,-> CatCreateCast (ScalarType "timestamp") (ScalarType "date")-> AssignmentCastContext,-> CatCreateCast (ScalarType "timestamp") (ScalarType "time")-> AssignmentCastContext,-> CatCreateCast (ScalarType "timestamp") (ScalarType "timestamptz")-> ImplicitCastContext,-> CatCreateCast (ScalarType "timestamptz") (ScalarType "abstime")-> AssignmentCastContext,-> CatCreateCast (ScalarType "timestamptz") (ScalarType "date")-> AssignmentCastContext,-> CatCreateCast (ScalarType "timestamptz") (ScalarType "time")-> AssignmentCastContext,-> CatCreateCast (ScalarType "timestamptz") (ScalarType "timestamp")-> AssignmentCastContext,-> CatCreateCast (ScalarType "timestamptz") (ScalarType "timetz")-> AssignmentCastContext,-> CatCreateCast (ScalarType "interval") (ScalarType "reltime")-> AssignmentCastContext,-> CatCreateCast (ScalarType "interval") (ScalarType "time")-> AssignmentCastContext,-> CatCreateCast (ScalarType "timetz") (ScalarType "time")-> AssignmentCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "abstime")-> ExplicitCastContext,-> CatCreateCast (ScalarType "abstime") (ScalarType "int4")-> ExplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "reltime")-> ExplicitCastContext,-> CatCreateCast (ScalarType "reltime") (ScalarType "int4")-> ExplicitCastContext,-> CatCreateCast (ScalarType "lseg") (ScalarType "point")-> ExplicitCastContext,-> CatCreateCast (ScalarType "path") (ScalarType "point")-> ExplicitCastContext,-> CatCreateCast (ScalarType "path") (ScalarType "polygon")-> AssignmentCastContext,-> CatCreateCast (ScalarType "box") (ScalarType "point")-> ExplicitCastContext,-> CatCreateCast (ScalarType "box") (ScalarType "lseg")-> ExplicitCastContext,-> CatCreateCast (ScalarType "box") (ScalarType "polygon")-> AssignmentCastContext,-> CatCreateCast (ScalarType "box") (ScalarType "circle")-> ExplicitCastContext,-> CatCreateCast (ScalarType "polygon") (ScalarType "point")-> ExplicitCastContext,-> CatCreateCast (ScalarType "polygon") (ScalarType "path")-> AssignmentCastContext,-> CatCreateCast (ScalarType "polygon") (ScalarType "box")-> ExplicitCastContext,-> CatCreateCast (ScalarType "polygon") (ScalarType "circle")-> ExplicitCastContext,-> CatCreateCast (ScalarType "circle") (ScalarType "point")-> ExplicitCastContext,-> CatCreateCast (ScalarType "circle") (ScalarType "box")-> ExplicitCastContext,-> CatCreateCast (ScalarType "circle") (ScalarType "polygon")-> ExplicitCastContext,-> CatCreateCast (ScalarType "cidr") (ScalarType "inet")-> ImplicitCastContext,-> CatCreateCast (ScalarType "inet") (ScalarType "cidr")-> AssignmentCastContext,-> CatCreateCast (ScalarType "bit") (ScalarType "varbit")-> ImplicitCastContext,-> CatCreateCast (ScalarType "varbit") (ScalarType "bit")-> ImplicitCastContext,-> CatCreateCast (ScalarType "int8") (ScalarType "bit")-> ExplicitCastContext,-> CatCreateCast (ScalarType "int4") (ScalarType "bit")-> ExplicitCastContext,-> CatCreateCast (ScalarType "bit") (ScalarType "int8")-> ExplicitCastContext,-> CatCreateCast (ScalarType "bit") (ScalarType "int4")-> ExplicitCastContext,-> CatCreateCast (ScalarType "cidr") (ScalarType "text")-> AssignmentCastContext,-> CatCreateCast (ScalarType "inet") (ScalarType "text")-> AssignmentCastContext,-> CatCreateCast (ScalarType "bool") (ScalarType "text")-> AssignmentCastContext,-> CatCreateCast (ScalarType "xml") (ScalarType "text")-> AssignmentCastContext,-> CatCreateCast (ScalarType "text") (ScalarType "xml")-> ExplicitCastContext,-> CatCreateCast (ScalarType "cidr") (ScalarType "varchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "inet") (ScalarType "varchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "bool") (ScalarType "varchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "xml") (ScalarType "varchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "varchar") (ScalarType "xml")-> ExplicitCastContext,-> CatCreateCast (ScalarType "cidr") (ScalarType "bpchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "inet") (ScalarType "bpchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "bool") (ScalarType "bpchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "xml") (ScalarType "bpchar")-> AssignmentCastContext,-> CatCreateCast (ScalarType "bpchar") (ScalarType "xml")-> ExplicitCastContext,-> CatCreateCast (ScalarType "bpchar") (ScalarType "bpchar")-> ImplicitCastContext,-> CatCreateCast (ScalarType "varchar") (ScalarType "varchar")-> ImplicitCastContext,-> CatCreateCast (ScalarType "time") (ScalarType "time")-> ImplicitCastContext,-> CatCreateCast (ScalarType "timestamp") (ScalarType "timestamp")-> ImplicitCastContext,-> CatCreateCast (ScalarType "timestamptz") (ScalarType "timestamptz")-> ImplicitCastContext,-> CatCreateCast (ScalarType "interval") (ScalarType "interval")-> ImplicitCastContext,-> CatCreateCast (ScalarType "timetz") (ScalarType "timetz")-> ImplicitCastContext,-> CatCreateCast (ScalarType "bit") (ScalarType "bit")-> ImplicitCastContext,-> CatCreateCast (ScalarType "varbit") (ScalarType "varbit")-> ImplicitCastContext,-> CatCreateCast (ScalarType "numeric") (ScalarType "numeric")-> ImplicitCastContext,-> CatCreateFunction FunPrefix "~" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunPrefix "~" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunPrefix "~" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunPrefix "~" [ScalarType "bit"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunPrefix "~" [ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunPrefix "||/" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunPrefix "|/" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunPrefix "|" [ScalarType "tinterval"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunPrefix "@@" [ScalarType "circle"]-> (ScalarType "point")-> False,-> CatCreateFunction FunPrefix "@@" [ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunPrefix "@@" [ScalarType "path"]-> (ScalarType "point")-> False,-> CatCreateFunction FunPrefix "@@" [ScalarType "polygon"]-> (ScalarType "point")-> False,-> CatCreateFunction FunPrefix "@@" [ScalarType "box"]-> (ScalarType "point")-> False,-> CatCreateFunction FunPrefix "@-@" [ScalarType "path"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunPrefix "@-@" [ScalarType "lseg"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunPrefix "@" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunPrefix "@" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunPrefix "@" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunPrefix "@" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunPrefix "@" [ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunPrefix "@" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunPrefix "?|" [ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunPrefix "?|" [ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunPrefix "?-" [ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunPrefix "?-" [ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunPrefix "-" [ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunPrefix "-" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunPrefix "-" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunPrefix "-" [ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunPrefix "-" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunPrefix "-" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunPrefix "-" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunPrefix "+" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunPrefix "+" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunPrefix "+" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunPrefix "+" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunPrefix "+" [ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunPrefix "+" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunPrefix "#" [ScalarType "path"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunPrefix "#" [ScalarType "polygon"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunPrefix "!!" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunPrefix "!!" [ScalarType "tsquery"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunPostfix "!" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunBinary "~~*"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~~*"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~~*"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~~"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~~"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~~"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~~"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~>~"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~>~"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~>=~"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~>=~"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~="-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~="-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~="-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~="-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~="-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~<~"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~<~"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~<=~"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~<=~"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~*"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~*"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~*"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~"-> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~"-> [ScalarType "polygon", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "~"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "||" [Pseudo AnyArray, Pseudo AnyArray]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunBinary "||"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunBinary "||"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "varbit")-> False,-> CatCreateFunction FunBinary "||"-> [Pseudo AnyElement, Pseudo AnyArray]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunBinary "||"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunBinary "||"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunBinary "||"-> [Pseudo AnyNonArray, ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunBinary "||"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "tsvector")-> False,-> CatCreateFunction FunBinary "||"-> [Pseudo AnyArray, Pseudo AnyElement]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunBinary "||"-> [ScalarType "text", Pseudo AnyNonArray]-> (ScalarType "text")-> False,-> CatCreateFunction FunBinary "|>>"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "|>>"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "|>>"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "|&>"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "|&>"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "|&>"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "|"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "|"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "|"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunBinary "|"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunBinary "|"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunBinary "^"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunBinary "^"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "@@@"-> [ScalarType "tsquery", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@@@"-> [ScalarType "tsvector", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@@"-> [ScalarType "text", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@@"-> [ScalarType "tsquery", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@@"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@@"-> [ScalarType "tsvector", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@>" [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@>"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@>"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@>"-> [ScalarType "polygon", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@>"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@>"-> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@>"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@>"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "@>"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?||"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?||"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?|"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?-|"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?-|"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?-"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?#"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?#"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?#"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?#"-> [ScalarType "lseg", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?#"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?#"-> [ScalarType "lseg", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "?#"-> [ScalarType "line", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">^"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">^"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">>="-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">>"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">>"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">>"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">>"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary ">>"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary ">>"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunBinary ">>"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">>"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">>"-> [ScalarType "bit", ScalarType "int4"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">=" [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">=" [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">=" [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">="-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">" [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">" [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">" [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary ">"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "aclitem", ScalarType "aclitem"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "int2vector", ScalarType "int2vector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "=" [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "cid", ScalarType "cid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "xid", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "=" [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "line", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "=" [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "xid", ScalarType "xid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "="-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<^"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<^"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@" [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "lseg", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "lseg", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "point", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "point", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "point", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "point", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "point", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<@"-> [ScalarType "point", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<?>"-> [ScalarType "abstime", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>" [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>" [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>" [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<>"-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<=" [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<=" [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<=" [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<="-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<<|"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<<|"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<<|"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<<="-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<<"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunBinary "<<"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<<"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<<"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<<"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<<"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<<"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "<<"-> [ScalarType "bit", ScalarType "int4"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunBinary "<<"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "<<"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "circle", ScalarType "polygon"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "point", ScalarType "line"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "point", ScalarType "path"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "point", ScalarType "circle"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "lseg", ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "point", ScalarType "lseg"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "lseg", ScalarType "line"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "point", ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<->"-> [ScalarType "line", ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "<#>"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "tinterval")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<" [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<" [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<" [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "<"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "money", ScalarType "float4"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "money", ScalarType "int4"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "path")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "interval", ScalarType "float8"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "money", ScalarType "int2"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "money", ScalarType "float8"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "/"-> [ScalarType "box", ScalarType "point"]-> (ScalarType "box")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "timestamptz", ScalarType "interval"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "date", ScalarType "int4"]-> (ScalarType "date")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "date", ScalarType "interval"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunBinary "-"-> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]-> (ArrayType (ScalarType "aclitem"))-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "inet", ScalarType "int8"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "box", ScalarType "point"]-> (ScalarType "box")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "path")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "time", ScalarType "interval"]-> (ScalarType "time")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "timetz", ScalarType "interval"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "abstime", ScalarType "reltime"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "timestamp", ScalarType "interval"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunBinary "-"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "date", ScalarType "time"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "timetz", ScalarType "interval"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "time", ScalarType "interval"]-> (ScalarType "time")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "timestamp", ScalarType "interval"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "time", ScalarType "date"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "date", ScalarType "timetz"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "path")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "path")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "box", ScalarType "point"]-> (ScalarType "box")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int8", ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunBinary "+"-> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]-> (ArrayType (ScalarType "aclitem"))-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "inet", ScalarType "int8"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "interval", ScalarType "date"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "date", ScalarType "interval"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "timetz", ScalarType "date"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "interval", ScalarType "timetz"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "interval", ScalarType "timestamp"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "date", ScalarType "int4"]-> (ScalarType "date")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "interval", ScalarType "timestamptz"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "int4", ScalarType "date"]-> (ScalarType "date")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "timestamptz", ScalarType "interval"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "abstime", ScalarType "reltime"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunBinary "+"-> [ScalarType "interval", ScalarType "time"]-> (ScalarType "time")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "path")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "box", ScalarType "point"]-> (ScalarType "box")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "money", ScalarType "float4"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "float4", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "money", ScalarType "float8"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "money", ScalarType "int4"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "money", ScalarType "int2"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "float8", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int4", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int2", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "float8", ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "interval", ScalarType "float8"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "*"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunBinary "&>"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&>"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&>"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&<|"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&<|"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&<|"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&<"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&<"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&<"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&&" [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&&"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&&"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&&"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&&"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "&&"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunBinary "&"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunBinary "&"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunBinary "&"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "&"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "&"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunBinary "%"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunBinary "%"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunBinary "%"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "%"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "#>="-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "#>"-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "#="-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "#<>"-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "#<="-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "#<"-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "##"-> [ScalarType "line", ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "##"-> [ScalarType "lseg", ScalarType "line"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "##"-> [ScalarType "point", ScalarType "box"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "##"-> [ScalarType "lseg", ScalarType "box"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "##"-> [ScalarType "line", ScalarType "box"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "##"-> [ScalarType "point", ScalarType "line"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "##"-> [ScalarType "point", ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "##"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "#"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunBinary "#"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "#"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "box")-> False,-> CatCreateFunction FunBinary "#"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunBinary "#"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunBinary "#"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunBinary "#"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunBinary "!~~*"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~~*"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~~*"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~~"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~~"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~~"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~~"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~*"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~*"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~*"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunBinary "!~"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "RI_FKey_cascade_del" [] (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_cascade_upd" [] (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_check_ins" [] (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_check_upd" [] (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_noaction_del" []-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_noaction_upd" []-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_restrict_del" []-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_restrict_upd" []-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_setdefault_del" []-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_setdefault_upd" []-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_setnull_del" [] (Pseudo Trigger)-> False,-> CatCreateFunction FunName "RI_FKey_setnull_upd" [] (Pseudo Trigger)-> False,-> CatCreateFunction FunName "abbrev" [ScalarType "cidr"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "abbrev" [ScalarType "inet"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "abs" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "abs" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "abs" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "abs" [ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "abs" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "abs" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "abstime" [ScalarType "timestamp"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunName "abstime" [ScalarType "timestamptz"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunName "abstimeeq"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "abstimege"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "abstimegt"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "abstimein" [Pseudo Cstring]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunName "abstimele"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "abstimelt"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "abstimene"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "abstimeout" [ScalarType "abstime"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "abstimerecv" [Pseudo Internal]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunName "abstimesend" [ScalarType "abstime"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "aclcontains"-> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "aclinsert"-> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]-> (ArrayType (ScalarType "aclitem"))-> False,-> CatCreateFunction FunName "aclitemeq"-> [ScalarType "aclitem", ScalarType "aclitem"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "aclitemin" [Pseudo Cstring]-> (ScalarType "aclitem")-> False,-> CatCreateFunction FunName "aclitemout" [ScalarType "aclitem"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "aclremove"-> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]-> (ArrayType (ScalarType "aclitem"))-> False,-> CatCreateFunction FunName "acos" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "age" [ScalarType "xid"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "age" [ScalarType "timestamp"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "age" [ScalarType "timestamptz"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "age"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "age"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "any_in" [Pseudo Cstring] (Pseudo Any)-> False,-> CatCreateFunction FunName "any_out" [Pseudo Any] (Pseudo Cstring)-> False,-> CatCreateFunction FunName "anyarray_in" [Pseudo Cstring]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "anyarray_out" [Pseudo AnyArray]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "anyarray_recv" [Pseudo Internal]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "anyarray_send" [Pseudo AnyArray]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "anyelement_in" [Pseudo Cstring]-> (Pseudo AnyElement)-> False,-> CatCreateFunction FunName "anyelement_out" [Pseudo AnyElement]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "anyenum_in" [Pseudo Cstring]-> (Pseudo AnyEnum)-> False,-> CatCreateFunction FunName "anyenum_out" [Pseudo AnyEnum]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "anynonarray_in" [Pseudo Cstring]-> (Pseudo AnyNonArray)-> False,-> CatCreateFunction FunName "anynonarray_out" [Pseudo AnyNonArray]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "anytextcat"-> [Pseudo AnyNonArray, ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "area" [ScalarType "path"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "area" [ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "area" [ScalarType "circle"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "areajoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "areasel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "array_agg_finalfn" [Pseudo Internal]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "array_agg_transfn"-> [Pseudo Internal, Pseudo AnyElement]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "array_append"-> [Pseudo AnyArray, Pseudo AnyElement]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "array_cat"-> [Pseudo AnyArray, Pseudo AnyArray]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "array_dims" [Pseudo AnyArray]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "array_eq"-> [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "array_fill"-> [Pseudo AnyElement, ArrayType (ScalarType "int4")]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "array_fill"-> [Pseudo AnyElement, ArrayType (ScalarType "int4"),-> ArrayType (ScalarType "int4")]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "array_ge"-> [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "array_gt"-> [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "array_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "array_larger"-> [Pseudo AnyArray, Pseudo AnyArray]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "array_le"-> [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "array_length"-> [Pseudo AnyArray, ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "array_lower"-> [Pseudo AnyArray, ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "array_lt"-> [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "array_ndims" [Pseudo AnyArray]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "array_ne"-> [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "array_out" [Pseudo AnyArray]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "array_prepend"-> [Pseudo AnyElement, Pseudo AnyArray]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "array_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "array_send" [Pseudo AnyArray]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "array_smaller"-> [Pseudo AnyArray, Pseudo AnyArray]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "array_to_string"-> [Pseudo AnyArray, ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "array_upper"-> [Pseudo AnyArray, ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "arraycontained"-> [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "arraycontains"-> [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "arrayoverlap"-> [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ascii" [ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "ascii_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "ascii_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "asin" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "atan" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "atan2"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "big5_to_euc_tw"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "big5_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "big5_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "bit"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bit"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bit"-> [ScalarType "bit", ScalarType "int4", ScalarType "bool"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bit_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bit_length" [ScalarType "bytea"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "bit_length" [ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "bit_length" [ScalarType "bit"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "bit_out" [ScalarType "bit"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "bit_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bit_send" [ScalarType "bit"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "bitand"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bitcat"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "varbit")-> False,-> CatCreateFunction FunName "bitcmp"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "biteq"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bitge"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bitgt"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bitle"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bitlt"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bitne"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bitnot" [ScalarType "bit"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bitor"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bitshiftleft"-> [ScalarType "bit", ScalarType "int4"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bitshiftright"-> [ScalarType "bit", ScalarType "int4"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bittypmodin"-> [ArrayType (Pseudo Cstring)]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "bittypmodout" [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "bitxor"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "bool" [ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "booland_statefunc"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "booleq"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "boolge"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "boolgt"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "boolin" [Pseudo Cstring]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "boolle"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "boollt"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "boolne"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "boolor_statefunc"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "boolout" [ScalarType "bool"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "boolrecv" [Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "boolsend" [ScalarType "bool"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "box" [ScalarType "polygon"]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "box" [ScalarType "circle"]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "box"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "box_above"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_above_eq"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_add"-> [ScalarType "box", ScalarType "point"]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "box_below"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_below_eq"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_center" [ScalarType "box"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "box_contain"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_contained"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_distance"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "box_div"-> [ScalarType "box", ScalarType "point"]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "box_eq"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_ge"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_gt"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_in" [Pseudo Cstring]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "box_intersect"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "box_le"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_left"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_lt"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_mul"-> [ScalarType "box", ScalarType "point"]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "box_out" [ScalarType "box"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "box_overabove"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_overbelow"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_overlap"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_overleft"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_overright"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_recv" [Pseudo Internal]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "box_right"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_same"-> [ScalarType "box", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "box_send" [ScalarType "box"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "box_sub"-> [ScalarType "box", ScalarType "point"]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "bpchar" [ScalarType "char"]-> (ScalarType "bpchar")-> False,-> CatCreateFunction FunName "bpchar" [ScalarType "name"]-> (ScalarType "bpchar")-> False,-> CatCreateFunction FunName "bpchar"-> [ScalarType "bpchar", ScalarType "int4", ScalarType "bool"]-> (ScalarType "bpchar")-> False,-> CatCreateFunction FunName "bpchar_larger"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bpchar")-> False,-> CatCreateFunction FunName "bpchar_pattern_ge"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpchar_pattern_gt"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpchar_pattern_le"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpchar_pattern_lt"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpchar_smaller"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bpchar")-> False,-> CatCreateFunction FunName "bpcharcmp"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "bpchareq"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharge"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpchargt"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpchariclike"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharicnlike"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharicregexeq"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharicregexne"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharin"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (ScalarType "bpchar")-> False,-> CatCreateFunction FunName "bpcharle"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharlike"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharlt"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharne"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharnlike"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharout" [ScalarType "bpchar"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "bpcharrecv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (ScalarType "bpchar")-> False,-> CatCreateFunction FunName "bpcharregexeq"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharregexne"-> [ScalarType "bpchar", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bpcharsend" [ScalarType "bpchar"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "bpchartypmodin"-> [ArrayType (Pseudo Cstring)]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "bpchartypmodout" [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "broadcast" [ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "btabstimecmp"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btarraycmp"-> [Pseudo AnyArray, Pseudo AnyArray]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btbeginscan"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "btboolcmp"-> [ScalarType "bool", ScalarType "bool"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btbpchar_pattern_cmp"-> [ScalarType "bpchar", ScalarType "bpchar"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btbuild"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "btbulkdelete"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "btcharcmp"-> [ScalarType "char", ScalarType "char"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btcostestimate"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal, Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "btendscan" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "btfloat48cmp"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btfloat4cmp"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btfloat84cmp"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btfloat8cmp"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btgetbitmap"-> [Pseudo Internal, Pseudo Internal]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "btgettuple"-> [Pseudo Internal, Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "btinsert"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "btint24cmp"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btint28cmp"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btint2cmp"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btint42cmp"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btint48cmp"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btint4cmp"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btint82cmp"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btint84cmp"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btint8cmp"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btmarkpos" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "btnamecmp"-> [ScalarType "name", ScalarType "name"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btoidcmp"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btoidvectorcmp"-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btoptions"-> [ArrayType (ScalarType "text"), ScalarType "bool"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "btrecordcmp"-> [Pseudo Record, Pseudo Record]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btreltimecmp"-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btrescan"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "btrestrpos" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "btrim" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "btrim"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "btrim"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "bttext_pattern_cmp"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "bttextcmp"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "bttidcmp"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "bttintervalcmp"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "btvacuumcleanup"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "byteacat"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "byteacmp"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "byteaeq"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "byteage"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "byteagt"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "byteain" [Pseudo Cstring]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "byteale"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bytealike"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "bytealt"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "byteane"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "byteanlike"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "byteaout" [ScalarType "bytea"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "bytearecv" [Pseudo Internal]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "byteasend" [ScalarType "bytea"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "cash_cmp"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "cash_div_flt4"-> [ScalarType "money", ScalarType "float4"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_div_flt8"-> [ScalarType "money", ScalarType "float8"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_div_int2"-> [ScalarType "money", ScalarType "int2"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_div_int4"-> [ScalarType "money", ScalarType "int4"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_eq"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "cash_ge"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "cash_gt"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "cash_in" [Pseudo Cstring]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_le"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "cash_lt"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "cash_mi"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_mul_flt4"-> [ScalarType "money", ScalarType "float4"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_mul_flt8"-> [ScalarType "money", ScalarType "float8"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_mul_int2"-> [ScalarType "money", ScalarType "int2"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_mul_int4"-> [ScalarType "money", ScalarType "int4"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_ne"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "cash_out" [ScalarType "money"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "cash_pl"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_recv" [Pseudo Internal]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cash_send" [ScalarType "money"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "cash_words" [ScalarType "money"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "cashlarger"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cashsmaller"-> [ScalarType "money", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "cbrt" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "ceil" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "ceil" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "ceiling" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "ceiling" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "center" [ScalarType "box"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "center" [ScalarType "circle"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "char" [ScalarType "int4"]-> (ScalarType "char")-> False,-> CatCreateFunction FunName "char" [ScalarType "text"]-> (ScalarType "char")-> False,-> CatCreateFunction FunName "char_length" [ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "char_length" [ScalarType "bpchar"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "character_length" [ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "character_length" [ScalarType "bpchar"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "chareq"-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "charge"-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "chargt"-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "charin" [Pseudo Cstring]-> (ScalarType "char")-> False,-> CatCreateFunction FunName "charle"-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "charlt"-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "charne"-> [ScalarType "char", ScalarType "char"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "charout" [ScalarType "char"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "charrecv" [Pseudo Internal]-> (ScalarType "char")-> False,-> CatCreateFunction FunName "charsend" [ScalarType "char"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "chr" [ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "cideq"-> [ScalarType "cid", ScalarType "cid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "cidin" [Pseudo Cstring]-> (ScalarType "cid")-> False,-> CatCreateFunction FunName "cidout" [ScalarType "cid"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "cidr" [ScalarType "inet"]-> (ScalarType "cidr")-> False,-> CatCreateFunction FunName "cidr_in" [Pseudo Cstring]-> (ScalarType "cidr")-> False,-> CatCreateFunction FunName "cidr_out" [ScalarType "cidr"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "cidr_recv" [Pseudo Internal]-> (ScalarType "cidr")-> False,-> CatCreateFunction FunName "cidr_send" [ScalarType "cidr"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "cidrecv" [Pseudo Internal]-> (ScalarType "cid")-> False,-> CatCreateFunction FunName "cidsend" [ScalarType "cid"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "circle" [ScalarType "box"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunName "circle" [ScalarType "polygon"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunName "circle"-> [ScalarType "point", ScalarType "float8"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunName "circle_above"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_add_pt"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunName "circle_below"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_center" [ScalarType "circle"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "circle_contain"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_contain_pt"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_contained"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_distance"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "circle_div_pt"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunName "circle_eq"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_ge"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_gt"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_in" [Pseudo Cstring]-> (ScalarType "circle")-> False,-> CatCreateFunction FunName "circle_le"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_left"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_lt"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_mul_pt"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunName "circle_ne"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_out" [ScalarType "circle"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "circle_overabove"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_overbelow"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_overlap"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_overleft"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_overright"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_recv" [Pseudo Internal]-> (ScalarType "circle")-> False,-> CatCreateFunction FunName "circle_right"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_same"-> [ScalarType "circle", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "circle_send" [ScalarType "circle"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "circle_sub_pt"-> [ScalarType "circle", ScalarType "point"]-> (ScalarType "circle")-> False,-> CatCreateFunction FunName "clock_timestamp" []-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "close_lb"-> [ScalarType "line", ScalarType "box"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "close_ls"-> [ScalarType "line", ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "close_lseg"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "close_pb"-> [ScalarType "point", ScalarType "box"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "close_pl"-> [ScalarType "point", ScalarType "line"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "close_ps"-> [ScalarType "point", ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "close_sb"-> [ScalarType "lseg", ScalarType "box"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "close_sl"-> [ScalarType "lseg", ScalarType "line"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "col_description"-> [ScalarType "oid", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "contjoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "contsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "convert"-> [ScalarType "bytea", ScalarType "name", ScalarType "name"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "convert_from"-> [ScalarType "bytea", ScalarType "name"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "convert_to"-> [ScalarType "text", ScalarType "name"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "cos" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "cot" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "cstring_in" [Pseudo Cstring]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "cstring_out" [Pseudo Cstring]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "cstring_recv" [Pseudo Internal]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "cstring_send" [Pseudo Cstring]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "current_database" [] (ScalarType "name")-> False,-> CatCreateFunction FunName "current_query" [] (ScalarType "text")-> False,-> CatCreateFunction FunName "current_schema" [] (ScalarType "name")-> False,-> CatCreateFunction FunName "current_schemas" [ScalarType "bool"]-> (ArrayType (ScalarType "name"))-> False,-> CatCreateFunction FunName "current_setting" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "current_user" [] (ScalarType "name")-> False,-> CatCreateFunction FunName "currtid"-> [ScalarType "oid", ScalarType "tid"]-> (ScalarType "tid")-> False,-> CatCreateFunction FunName "currtid2"-> [ScalarType "text", ScalarType "tid"]-> (ScalarType "tid")-> False,-> CatCreateFunction FunName "currval" [ScalarType "regclass"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "cursor_to_xml"-> [ScalarType "refcursor", ScalarType "int4", ScalarType "bool",-> ScalarType "bool", ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "cursor_to_xmlschema"-> [ScalarType "refcursor", ScalarType "bool", ScalarType "bool",-> ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "database_to_xml"-> [ScalarType "bool", ScalarType "bool", ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "database_to_xml_and_xmlschema"-> [ScalarType "bool", ScalarType "bool", ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "database_to_xmlschema"-> [ScalarType "bool", ScalarType "bool", ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "date" [ScalarType "abstime"]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "date" [ScalarType "timestamp"]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "date" [ScalarType "timestamptz"]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "date_cmp"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "date_cmp_timestamp"-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "date_cmp_timestamptz"-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "date_eq"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_eq_timestamp"-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_eq_timestamptz"-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_ge"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_ge_timestamp"-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_ge_timestamptz"-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_gt"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_gt_timestamp"-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_gt_timestamptz"-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_in" [Pseudo Cstring]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "date_larger"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "date_le"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_le_timestamp"-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_le_timestamptz"-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_lt"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_lt_timestamp"-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_lt_timestamptz"-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_mi"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "date_mi_interval"-> [ScalarType "date", ScalarType "interval"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "date_mii"-> [ScalarType "date", ScalarType "int4"]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "date_ne"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_ne_timestamp"-> [ScalarType "date", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_ne_timestamptz"-> [ScalarType "date", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "date_out" [ScalarType "date"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "date_part"-> [ScalarType "text", ScalarType "abstime"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "date_part"-> [ScalarType "text", ScalarType "reltime"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "date_part"-> [ScalarType "text", ScalarType "date"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "date_part"-> [ScalarType "text", ScalarType "time"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "date_part"-> [ScalarType "text", ScalarType "timestamp"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "date_part"-> [ScalarType "text", ScalarType "timestamptz"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "date_part"-> [ScalarType "text", ScalarType "interval"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "date_part"-> [ScalarType "text", ScalarType "timetz"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "date_pl_interval"-> [ScalarType "date", ScalarType "interval"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "date_pli"-> [ScalarType "date", ScalarType "int4"]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "date_recv" [Pseudo Internal]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "date_send" [ScalarType "date"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "date_smaller"-> [ScalarType "date", ScalarType "date"]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "date_trunc"-> [ScalarType "text", ScalarType "timestamp"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "date_trunc"-> [ScalarType "text", ScalarType "timestamptz"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "date_trunc"-> [ScalarType "text", ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "datetime_pl"-> [ScalarType "date", ScalarType "time"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "datetimetz_pl"-> [ScalarType "date", ScalarType "timetz"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "dcbrt" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "decode"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "degrees" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dexp" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "diagonal" [ScalarType "box"]-> (ScalarType "lseg")-> False,-> CatCreateFunction FunName "diameter" [ScalarType "circle"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dispell_init" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "dispell_lexize"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "dist_cpoly"-> [ScalarType "circle", ScalarType "polygon"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dist_lb"-> [ScalarType "line", ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dist_pb"-> [ScalarType "point", ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dist_pc"-> [ScalarType "point", ScalarType "circle"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dist_pl"-> [ScalarType "point", ScalarType "line"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dist_ppath"-> [ScalarType "point", ScalarType "path"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dist_ps"-> [ScalarType "point", ScalarType "lseg"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dist_sb"-> [ScalarType "lseg", ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dist_sl"-> [ScalarType "lseg", ScalarType "line"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "div"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "dlog1" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dlog10" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "domain_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (Pseudo Any)-> False,-> CatCreateFunction FunName "domain_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (Pseudo Any)-> False,-> CatCreateFunction FunName "dpow"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dround" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dsimple_init" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "dsimple_lexize"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "dsnowball_init" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "dsnowball_lexize"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "dsqrt" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "dsynonym_init" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "dsynonym_lexize"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "dtrunc" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "encode"-> [ScalarType "bytea", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "enum_cmp"-> [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "enum_eq"-> [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "enum_first" [Pseudo AnyEnum]-> (Pseudo AnyEnum)-> False,-> CatCreateFunction FunName "enum_ge"-> [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "enum_gt"-> [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "enum_in"-> [Pseudo Cstring, ScalarType "oid"]-> (Pseudo AnyEnum)-> False,-> CatCreateFunction FunName "enum_larger"-> [Pseudo AnyEnum, Pseudo AnyEnum]-> (Pseudo AnyEnum)-> False,-> CatCreateFunction FunName "enum_last" [Pseudo AnyEnum]-> (Pseudo AnyEnum)-> False,-> CatCreateFunction FunName "enum_le"-> [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "enum_lt"-> [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "enum_ne"-> [Pseudo AnyEnum, Pseudo AnyEnum]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "enum_out" [Pseudo AnyEnum]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "enum_range" [Pseudo AnyEnum]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "enum_range"-> [Pseudo AnyEnum, Pseudo AnyEnum]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunName "enum_recv"-> [Pseudo Cstring, ScalarType "oid"]-> (Pseudo AnyEnum)-> False,-> CatCreateFunction FunName "enum_send" [Pseudo AnyEnum]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "enum_smaller"-> [Pseudo AnyEnum, Pseudo AnyEnum]-> (Pseudo AnyEnum)-> False,-> CatCreateFunction FunName "eqjoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "eqsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "euc_cn_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_cn_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_jis_2004_to_shift_jis_2004"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_jis_2004_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_jp_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_jp_to_sjis"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_jp_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_kr_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_kr_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_tw_to_big5"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_tw_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "euc_tw_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "exp" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "exp" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "factorial" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "family" [ScalarType "inet"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "flatfile_update_trigger" []-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "float4" [ScalarType "int8"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4" [ScalarType "int2"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4" [ScalarType "int4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4" [ScalarType "float8"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4" [ScalarType "numeric"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float48div"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float48eq"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float48ge"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float48gt"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float48le"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float48lt"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float48mi"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float48mul"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float48ne"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float48pl"-> [ScalarType "float4", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float4_accum"-> [ArrayType (ScalarType "float8"), ScalarType "float4"]-> (ArrayType (ScalarType "float8"))-> False,-> CatCreateFunction FunName "float4abs" [ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4div"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4eq"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float4ge"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float4gt"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float4in" [Pseudo Cstring]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4larger"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4le"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float4lt"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float4mi"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4mul"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4ne"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float4out" [ScalarType "float4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "float4pl"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4recv" [Pseudo Internal]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4send" [ScalarType "float4"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "float4smaller"-> [ScalarType "float4", ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4um" [ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float4up" [ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "float8" [ScalarType "int8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8" [ScalarType "int2"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8" [ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8" [ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8" [ScalarType "numeric"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float84div"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float84eq"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float84ge"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float84gt"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float84le"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float84lt"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float84mi"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float84mul"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float84ne"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float84pl"-> [ScalarType "float8", ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_accum"-> [ArrayType (ScalarType "float8"), ScalarType "float8"]-> (ArrayType (ScalarType "float8"))-> False,-> CatCreateFunction FunName "float8_avg"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_corr"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_covar_pop"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_covar_samp"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_regr_accum"-> [ArrayType (ScalarType "float8"), ScalarType "float8",-> ScalarType "float8"]-> (ArrayType (ScalarType "float8"))-> False,-> CatCreateFunction FunName "float8_regr_avgx"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_regr_avgy"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_regr_intercept"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_regr_r2"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_regr_slope"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_regr_sxx"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_regr_sxy"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_regr_syy"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_stddev_pop"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_stddev_samp"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_var_pop"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8_var_samp"-> [ArrayType (ScalarType "float8")]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8abs" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8div"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8eq"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float8ge"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float8gt"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float8in" [Pseudo Cstring]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8larger"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8le"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float8lt"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float8mi"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8mul"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8ne"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "float8out" [ScalarType "float8"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "float8pl"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8recv" [Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8send" [ScalarType "float8"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "float8smaller"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8um" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "float8up" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "floor" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "floor" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "flt4_mul_cash"-> [ScalarType "float4", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "flt8_mul_cash"-> [ScalarType "float8", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "fmgr_c_validator" [ScalarType "oid"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "fmgr_internal_validator"-> [ScalarType "oid"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "fmgr_sql_validator" [ScalarType "oid"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "format_type"-> [ScalarType "oid", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "gb18030_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "gbk_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "generate_series"-> [ScalarType "int8", ScalarType "int8"]-> (SetOfType (ScalarType "int8"))-> False,-> CatCreateFunction FunName "generate_series"-> [ScalarType "int4", ScalarType "int4"]-> (SetOfType (ScalarType "int4"))-> False,-> CatCreateFunction FunName "generate_series"-> [ScalarType "int8", ScalarType "int8", ScalarType "int8"]-> (SetOfType (ScalarType "int8"))-> False,-> CatCreateFunction FunName "generate_series"-> [ScalarType "int4", ScalarType "int4", ScalarType "int4"]-> (SetOfType (ScalarType "int4"))-> False,-> CatCreateFunction FunName "generate_series"-> [ScalarType "timestamp", ScalarType "timestamp",-> ScalarType "interval"]-> (SetOfType (ScalarType "timestamp"))-> False,-> CatCreateFunction FunName "generate_series"-> [ScalarType "timestamptz", ScalarType "timestamptz",-> ScalarType "interval"]-> (SetOfType (ScalarType "timestamptz"))-> False,-> CatCreateFunction FunName "generate_subscripts"-> [Pseudo AnyArray, ScalarType "int4"]-> (SetOfType (ScalarType "int4"))-> False,-> CatCreateFunction FunName "generate_subscripts"-> [Pseudo AnyArray, ScalarType "int4", ScalarType "bool"]-> (SetOfType (ScalarType "int4"))-> False,-> CatCreateFunction FunName "get_bit"-> [ScalarType "bytea", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "get_byte"-> [ScalarType "bytea", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "get_current_ts_config" []-> (ScalarType "regconfig")-> False,-> CatCreateFunction FunName "getdatabaseencoding" []-> (ScalarType "name")-> False,-> CatCreateFunction FunName "getpgusername" [] (ScalarType "name")-> False,-> CatCreateFunction FunName "gin_cmp_prefix"-> [ScalarType "text", ScalarType "text", ScalarType "int2",-> Pseudo Internal]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "gin_cmp_tslexeme"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "gin_extract_tsquery"-> [ScalarType "tsquery", Pseudo Internal, ScalarType "int2",-> Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gin_extract_tsvector"-> [ScalarType "tsvector", Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gin_tsquery_consistent"-> [Pseudo Internal, ScalarType "int2", ScalarType "tsquery",-> ScalarType "int4", Pseudo Internal, Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ginarrayconsistent"-> [Pseudo Internal, ScalarType "int2", Pseudo AnyArray,-> ScalarType "int4", Pseudo Internal, Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ginarrayextract"-> [Pseudo AnyArray, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "ginbeginscan"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "ginbuild"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "ginbulkdelete"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gincostestimate"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal, Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "ginendscan" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "gingetbitmap"-> [Pseudo Internal, Pseudo Internal]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "gininsert"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ginmarkpos" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "ginoptions"-> [ArrayType (ScalarType "text"), ScalarType "bool"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "ginqueryarrayextract"-> [Pseudo AnyArray, Pseudo Internal, ScalarType "int2",-> Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "ginrescan"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "ginrestrpos" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "ginvacuumcleanup"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gist_box_compress" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gist_box_consistent"-> [Pseudo Internal, ScalarType "box", ScalarType "int4",-> ScalarType "oid", Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "gist_box_decompress" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gist_box_penalty"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gist_box_picksplit"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gist_box_same"-> [ScalarType "box", ScalarType "box", Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gist_box_union"-> [Pseudo Internal, Pseudo Internal]-> (ScalarType "box")-> False,-> CatCreateFunction FunName "gist_circle_compress" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gist_circle_consistent"-> [Pseudo Internal, ScalarType "circle", ScalarType "int4",-> ScalarType "oid", Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "gist_poly_compress" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gist_poly_consistent"-> [Pseudo Internal, ScalarType "polygon", ScalarType "int4",-> ScalarType "oid", Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "gistbeginscan"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gistbuild"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gistbulkdelete"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gistcostestimate"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal, Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "gistendscan" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "gistgetbitmap"-> [Pseudo Internal, Pseudo Internal]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "gistgettuple"-> [Pseudo Internal, Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "gistinsert"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "gistmarkpos" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "gistoptions"-> [ArrayType (ScalarType "text"), ScalarType "bool"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "gistrescan"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "gistrestrpos" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "gistvacuumcleanup"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsquery_compress" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsquery_consistent"-> [Pseudo Internal, Pseudo Internal, ScalarType "int4",-> ScalarType "oid", Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "gtsquery_decompress" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsquery_penalty"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsquery_picksplit"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsquery_same"-> [ScalarType "int8", ScalarType "int8", Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsquery_union"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsvector_compress" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsvector_consistent"-> [Pseudo Internal, ScalarType "gtsvector", ScalarType "int4",-> ScalarType "oid", Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "gtsvector_decompress" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsvector_penalty"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsvector_picksplit"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsvector_same"-> [ScalarType "gtsvector", ScalarType "gtsvector", Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsvector_union"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "gtsvectorin" [Pseudo Cstring]-> (ScalarType "gtsvector")-> False,-> CatCreateFunction FunName "gtsvectorout" [ScalarType "gtsvector"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "has_any_column_privilege"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_any_column_privilege"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_any_column_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_any_column_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_any_column_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_any_column_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "text", ScalarType "int2", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "text", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "oid", ScalarType "int2", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "int2",-> ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "text",-> ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "int2",-> ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "text",-> ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "int2",-> ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text",-> ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "int2",-> ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_column_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "text",-> ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_database_privilege"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_database_privilege"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_database_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_database_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_database_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_database_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_function_privilege"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_function_privilege"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_function_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_function_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_function_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_function_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_language_privilege"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_language_privilege"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_language_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_language_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_language_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_language_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_schema_privilege"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_schema_privilege"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_schema_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_schema_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_schema_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_schema_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_server_privilege"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_server_privilege"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_server_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_server_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_server_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_server_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_table_privilege"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_table_privilege"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_table_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_table_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_table_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_table_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_tablespace_privilege"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_tablespace_privilege"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_tablespace_privilege"-> [ScalarType "name", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_tablespace_privilege"-> [ScalarType "name", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_tablespace_privilege"-> [ScalarType "oid", ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "has_tablespace_privilege"-> [ScalarType "oid", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "hash_aclitem" [ScalarType "aclitem"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hash_numeric" [ScalarType "numeric"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashbeginscan"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "hashbpchar" [ScalarType "bpchar"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashbuild"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "hashbulkdelete"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "hashchar" [ScalarType "char"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashcostestimate"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal, Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "hashendscan" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "hashenum" [Pseudo AnyEnum]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashfloat4" [ScalarType "float4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashfloat8" [ScalarType "float8"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashgetbitmap"-> [Pseudo Internal, Pseudo Internal]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "hashgettuple"-> [Pseudo Internal, Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "hashinet" [ScalarType "inet"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashinsert"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "hashint2" [ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashint2vector"-> [ScalarType "int2vector"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashint4" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashint8" [ScalarType "int8"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashmacaddr" [ScalarType "macaddr"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashmarkpos" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "hashname" [ScalarType "name"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashoid" [ScalarType "oid"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashoidvector" [ScalarType "oidvector"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashoptions"-> [ArrayType (ScalarType "text"), ScalarType "bool"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "hashrescan"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "hashrestrpos" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "hashtext" [ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "hashvacuumcleanup"-> [Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "hashvarlena" [Pseudo Internal]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "height" [ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "host" [ScalarType "inet"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "hostmask" [ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "iclikejoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "iclikesel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "icnlikejoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "icnlikesel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "icregexeqjoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "icregexeqsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "icregexnejoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "icregexnesel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "inet_client_addr" [] (ScalarType "inet")-> False,-> CatCreateFunction FunName "inet_client_port" [] (ScalarType "int4")-> False,-> CatCreateFunction FunName "inet_in" [Pseudo Cstring]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "inet_out" [ScalarType "inet"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "inet_recv" [Pseudo Internal]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "inet_send" [ScalarType "inet"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "inet_server_addr" [] (ScalarType "inet")-> False,-> CatCreateFunction FunName "inet_server_port" [] (ScalarType "int4")-> False,-> CatCreateFunction FunName "inetand"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "inetmi"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "inetmi_int8"-> [ScalarType "inet", ScalarType "int8"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "inetnot" [ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "inetor"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "inetpl"-> [ScalarType "inet", ScalarType "int8"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "initcap" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "int2" [ScalarType "int8"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2" [ScalarType "int4"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2" [ScalarType "float4"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2" [ScalarType "float8"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2" [ScalarType "numeric"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int24div"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int24eq"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int24ge"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int24gt"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int24le"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int24lt"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int24mi"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int24mul"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int24ne"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int24pl"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int28div"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int28eq"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int28ge"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int28gt"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int28le"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int28lt"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int28mi"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int28mul"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int28ne"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int28pl"-> [ScalarType "int2", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int2_accum"-> [ArrayType (ScalarType "numeric"), ScalarType "int2"]-> (ArrayType (ScalarType "numeric"))-> False,-> CatCreateFunction FunName "int2_avg_accum"-> [ArrayType (ScalarType "int8"), ScalarType "int2"]-> (ArrayType (ScalarType "int8"))-> False,-> CatCreateFunction FunName "int2_mul_cash"-> [ScalarType "int2", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "int2_sum"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int2abs" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2and"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2div"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2eq"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int2ge"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int2gt"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int2in" [Pseudo Cstring]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2larger"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2le"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int2lt"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int2mi"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2mod"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2mul"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2ne"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int2not" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2or"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2out" [ScalarType "int2"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "int2pl"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2recv" [Pseudo Internal]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2send" [ScalarType "int2"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "int2shl"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2shr"-> [ScalarType "int2", ScalarType "int4"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2smaller"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2um" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2up" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int2vectoreq"-> [ScalarType "int2vector", ScalarType "int2vector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int2vectorin" [Pseudo Cstring]-> (ScalarType "int2vector")-> False,-> CatCreateFunction FunName "int2vectorout" [ScalarType "int2vector"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "int2vectorrecv" [Pseudo Internal]-> (ScalarType "int2vector")-> False,-> CatCreateFunction FunName "int2vectorsend"-> [ScalarType "int2vector"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "int2xor"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "int4" [ScalarType "bool"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4" [ScalarType "char"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4" [ScalarType "int8"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4" [ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4" [ScalarType "float4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4" [ScalarType "float8"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4" [ScalarType "bit"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4" [ScalarType "numeric"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int42div"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int42eq"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int42ge"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int42gt"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int42le"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int42lt"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int42mi"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int42mul"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int42ne"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int42pl"-> [ScalarType "int4", ScalarType "int2"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int48div"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int48eq"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int48ge"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int48gt"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int48le"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int48lt"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int48mi"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int48mul"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int48ne"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int48pl"-> [ScalarType "int4", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int4_accum"-> [ArrayType (ScalarType "numeric"), ScalarType "int4"]-> (ArrayType (ScalarType "numeric"))-> False,-> CatCreateFunction FunName "int4_avg_accum"-> [ArrayType (ScalarType "int8"), ScalarType "int4"]-> (ArrayType (ScalarType "int8"))-> False,-> CatCreateFunction FunName "int4_mul_cash"-> [ScalarType "int4", ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunName "int4_sum"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int4abs" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4and"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4div"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4eq"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int4ge"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int4gt"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int4in" [Pseudo Cstring]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4inc" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4larger"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4le"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int4lt"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int4mi"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4mod"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4mul"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4ne"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int4not" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4or"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4out" [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "int4pl"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4recv" [Pseudo Internal]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4send" [ScalarType "int4"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "int4shl"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4shr"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4smaller"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4um" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4up" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int4xor"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "int8" [ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8" [ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8" [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8" [ScalarType "float4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8" [ScalarType "float8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8" [ScalarType "bit"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8" [ScalarType "numeric"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int82div"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int82eq"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int82ge"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int82gt"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int82le"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int82lt"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int82mi"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int82mul"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int82ne"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int82pl"-> [ScalarType "int8", ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int84div"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int84eq"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int84ge"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int84gt"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int84le"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int84lt"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int84mi"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int84mul"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int84ne"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int84pl"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8_accum"-> [ArrayType (ScalarType "numeric"), ScalarType "int8"]-> (ArrayType (ScalarType "numeric"))-> False,-> CatCreateFunction FunName "int8_avg"-> [ArrayType (ScalarType "int8")]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "int8_avg_accum"-> [ArrayType (ScalarType "numeric"), ScalarType "int8"]-> (ArrayType (ScalarType "numeric"))-> False,-> CatCreateFunction FunName "int8_sum"-> [ScalarType "numeric", ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "int8abs" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8and"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8div"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8eq"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int8ge"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int8gt"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int8in" [Pseudo Cstring]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8inc" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8inc_any"-> [ScalarType "int8", Pseudo Any]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8inc_float8_float8"-> [ScalarType "int8", ScalarType "float8", ScalarType "float8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8larger"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8le"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int8lt"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int8mi"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8mod"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8mul"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8ne"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "int8not" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8or"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8out" [ScalarType "int8"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "int8pl"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8pl_inet"-> [ScalarType "int8", ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "int8recv" [Pseudo Internal]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8send" [ScalarType "int8"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "int8shl"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8shr"-> [ScalarType "int8", ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8smaller"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8um" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8up" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "int8xor"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "integer_pl_date"-> [ScalarType "int4", ScalarType "date"]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "inter_lb"-> [ScalarType "line", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "inter_sb"-> [ScalarType "lseg", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "inter_sl"-> [ScalarType "lseg", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "internal_in" [Pseudo Cstring]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "internal_out" [Pseudo Internal]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "interval" [ScalarType "reltime"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval" [ScalarType "time"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval"-> [ScalarType "interval", ScalarType "int4"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval_accum"-> [ArrayType (ScalarType "interval"), ScalarType "interval"]-> (ArrayType (ScalarType "interval"))-> False,-> CatCreateFunction FunName "interval_avg"-> [ArrayType (ScalarType "interval")]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval_cmp"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "interval_div"-> [ScalarType "interval", ScalarType "float8"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval_eq"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "interval_ge"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "interval_gt"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "interval_hash" [ScalarType "interval"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "interval_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval_larger"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval_le"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "interval_lt"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "interval_mi"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval_mul"-> [ScalarType "interval", ScalarType "float8"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval_ne"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "interval_out" [ScalarType "interval"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "interval_pl"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval_pl_date"-> [ScalarType "interval", ScalarType "date"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "interval_pl_time"-> [ScalarType "interval", ScalarType "time"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "interval_pl_timestamp"-> [ScalarType "interval", ScalarType "timestamp"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "interval_pl_timestamptz"-> [ScalarType "interval", ScalarType "timestamptz"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "interval_pl_timetz"-> [ScalarType "interval", ScalarType "timetz"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "interval_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval_send" [ScalarType "interval"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "interval_smaller"-> [ScalarType "interval", ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "interval_um" [ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "intervaltypmodin"-> [ArrayType (Pseudo Cstring)]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "intervaltypmodout" [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "intinterval"-> [ScalarType "abstime", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isclosed" [ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isfinite" [ScalarType "abstime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isfinite" [ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isfinite" [ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isfinite" [ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isfinite" [ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ishorizontal" [ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ishorizontal" [ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ishorizontal"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "iso8859_1_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "iso8859_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "iso_to_koi8r"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "iso_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "iso_to_win1251"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "iso_to_win866"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "isopen" [ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isparallel"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isparallel"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isperp"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isperp"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isvertical" [ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isvertical" [ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "isvertical"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "johab_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "justify_days" [ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "justify_hours" [ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "justify_interval"-> [ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "koi8r_to_iso"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "koi8r_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "koi8r_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "koi8r_to_win1251"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "koi8r_to_win866"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "koi8u_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "language_handler_in" [Pseudo Cstring]-> (Pseudo LanguageHandler)-> False,-> CatCreateFunction FunName "language_handler_out"-> [Pseudo LanguageHandler]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "lastval" [] (ScalarType "int8") False,-> CatCreateFunction FunName "latin1_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "latin2_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "latin2_to_win1250"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "latin3_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "latin4_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "length" [ScalarType "bytea"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "length" [ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "length" [ScalarType "lseg"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "length" [ScalarType "path"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "length" [ScalarType "bpchar"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "length" [ScalarType "bit"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "length" [ScalarType "tsvector"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "length"-> [ScalarType "bytea", ScalarType "name"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "like"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "like"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "like"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "like_escape"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "like_escape"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "likejoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "likesel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "line"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "line")-> False,-> CatCreateFunction FunName "line_distance"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "line_eq"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "line_horizontal" [ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "line_in" [Pseudo Cstring]-> (ScalarType "line")-> False,-> CatCreateFunction FunName "line_interpt"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "line_intersect"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "line_out" [ScalarType "line"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "line_parallel"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "line_perp"-> [ScalarType "line", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "line_recv" [Pseudo Internal]-> (ScalarType "line")-> False,-> CatCreateFunction FunName "line_send" [ScalarType "line"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "line_vertical" [ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ln" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "ln" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "lo_close" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "lo_creat" [ScalarType "int4"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "lo_create" [ScalarType "oid"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "lo_export"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "lo_import" [ScalarType "text"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "lo_import"-> [ScalarType "text", ScalarType "oid"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "lo_lseek"-> [ScalarType "int4", ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "lo_open"-> [ScalarType "oid", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "lo_tell" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "lo_truncate"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "lo_unlink" [ScalarType "oid"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "log" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "log" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "log"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "loread"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "lower" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "lowrite"-> [ScalarType "int4", ScalarType "bytea"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "lpad"-> [ScalarType "text", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "lpad"-> [ScalarType "text", ScalarType "int4", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "lseg" [ScalarType "box"]-> (ScalarType "lseg")-> False,-> CatCreateFunction FunName "lseg"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "lseg")-> False,-> CatCreateFunction FunName "lseg_center" [ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "lseg_distance"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "lseg_eq"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "lseg_ge"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "lseg_gt"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "lseg_horizontal" [ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "lseg_in" [Pseudo Cstring]-> (ScalarType "lseg")-> False,-> CatCreateFunction FunName "lseg_interpt"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "lseg_intersect"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "lseg_le"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "lseg_length" [ScalarType "lseg"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "lseg_lt"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "lseg_ne"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "lseg_out" [ScalarType "lseg"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "lseg_parallel"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "lseg_perp"-> [ScalarType "lseg", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "lseg_recv" [Pseudo Internal]-> (ScalarType "lseg")-> False,-> CatCreateFunction FunName "lseg_send" [ScalarType "lseg"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "lseg_vertical" [ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ltrim" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "ltrim"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "macaddr_cmp"-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "macaddr_eq"-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "macaddr_ge"-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "macaddr_gt"-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "macaddr_in" [Pseudo Cstring]-> (ScalarType "macaddr")-> False,-> CatCreateFunction FunName "macaddr_le"-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "macaddr_lt"-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "macaddr_ne"-> [ScalarType "macaddr", ScalarType "macaddr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "macaddr_out" [ScalarType "macaddr"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "macaddr_recv" [Pseudo Internal]-> (ScalarType "macaddr")-> False,-> CatCreateFunction FunName "macaddr_send" [ScalarType "macaddr"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "makeaclitem"-> [ScalarType "oid", ScalarType "oid", ScalarType "text",-> ScalarType "bool"]-> (ScalarType "aclitem")-> False,-> CatCreateFunction FunName "masklen" [ScalarType "inet"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "md5" [ScalarType "bytea"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "md5" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "mic_to_ascii"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_big5"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_euc_cn"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_euc_jp"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_euc_kr"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_euc_tw"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_iso"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_koi8r"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_latin1"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_latin2"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_latin3"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_latin4"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_sjis"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_win1250"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_win1251"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mic_to_win866"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "mktinterval"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "tinterval")-> False,-> CatCreateFunction FunName "mod"-> [ScalarType "int8", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "mod"-> [ScalarType "int2", ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunName "mod"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "mod"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "mul_d_interval"-> [ScalarType "float8", ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "name" [ScalarType "text"]-> (ScalarType "name")-> False,-> CatCreateFunction FunName "name" [ScalarType "bpchar"]-> (ScalarType "name")-> False,-> CatCreateFunction FunName "name" [ScalarType "varchar"]-> (ScalarType "name")-> False,-> CatCreateFunction FunName "nameeq"-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "namege"-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "namegt"-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "nameiclike"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "nameicnlike"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "nameicregexeq"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "nameicregexne"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "namein" [Pseudo Cstring]-> (ScalarType "name")-> False,-> CatCreateFunction FunName "namele"-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "namelike"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "namelt"-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "namene"-> [ScalarType "name", ScalarType "name"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "namenlike"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "nameout" [ScalarType "name"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "namerecv" [Pseudo Internal]-> (ScalarType "name")-> False,-> CatCreateFunction FunName "nameregexeq"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "nameregexne"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "namesend" [ScalarType "name"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "neqjoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "neqsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "netmask" [ScalarType "inet"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "network" [ScalarType "inet"]-> (ScalarType "cidr")-> False,-> CatCreateFunction FunName "network_cmp"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "network_eq"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "network_ge"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "network_gt"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "network_le"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "network_lt"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "network_ne"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "network_sub"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "network_subeq"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "network_sup"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "network_supeq"-> [ScalarType "inet", ScalarType "inet"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "nextval" [ScalarType "regclass"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "nlikejoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "nlikesel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "notlike"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "notlike"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "notlike"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "now" [] (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "npoints" [ScalarType "path"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "npoints" [ScalarType "polygon"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "numeric" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric" [ScalarType "int2"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric" [ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric" [ScalarType "float4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric" [ScalarType "float8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric"-> [ScalarType "numeric", ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_abs" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_accum"-> [ArrayType (ScalarType "numeric"), ScalarType "numeric"]-> (ArrayType (ScalarType "numeric"))-> False,-> CatCreateFunction FunName "numeric_add"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_avg"-> [ArrayType (ScalarType "numeric")]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_avg_accum"-> [ArrayType (ScalarType "numeric"), ScalarType "numeric"]-> (ArrayType (ScalarType "numeric"))-> False,-> CatCreateFunction FunName "numeric_cmp"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "numeric_div"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_div_trunc"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_eq"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "numeric_exp" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_fac" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_ge"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "numeric_gt"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "numeric_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_inc" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_larger"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_le"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "numeric_ln" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_log"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_lt"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "numeric_mod"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_mul"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_ne"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "numeric_out" [ScalarType "numeric"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "numeric_power"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_send" [ScalarType "numeric"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "numeric_smaller"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_sqrt" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_stddev_pop"-> [ArrayType (ScalarType "numeric")]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_stddev_samp"-> [ArrayType (ScalarType "numeric")]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_sub"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_uminus" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_uplus" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_var_pop"-> [ArrayType (ScalarType "numeric")]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numeric_var_samp"-> [ArrayType (ScalarType "numeric")]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "numerictypmodin"-> [ArrayType (Pseudo Cstring)]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "numerictypmodout" [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "numnode" [ScalarType "tsquery"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "obj_description" [ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "obj_description"-> [ScalarType "oid", ScalarType "name"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "octet_length" [ScalarType "bytea"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "octet_length" [ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "octet_length" [ScalarType "bpchar"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "octet_length" [ScalarType "bit"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "oid" [ScalarType "int8"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "oideq"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidge"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidgt"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidin" [Pseudo Cstring]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "oidlarger"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "oidle"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidlt"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidne"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidout" [ScalarType "oid"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "oidrecv" [Pseudo Internal]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "oidsend" [ScalarType "oid"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "oidsmaller"-> [ScalarType "oid", ScalarType "oid"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "oidvectoreq"-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidvectorge"-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidvectorgt"-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidvectorin" [Pseudo Cstring]-> (ScalarType "oidvector")-> False,-> CatCreateFunction FunName "oidvectorle"-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidvectorlt"-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidvectorne"-> [ScalarType "oidvector", ScalarType "oidvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "oidvectorout" [ScalarType "oidvector"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "oidvectorrecv" [Pseudo Internal]-> (ScalarType "oidvector")-> False,-> CatCreateFunction FunName "oidvectorsend" [ScalarType "oidvector"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "oidvectortypes" [ScalarType "oidvector"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "on_pb"-> [ScalarType "point", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "on_pl"-> [ScalarType "point", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "on_ppath"-> [ScalarType "point", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "on_ps"-> [ScalarType "point", ScalarType "lseg"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "on_sb"-> [ScalarType "lseg", ScalarType "box"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "on_sl"-> [ScalarType "lseg", ScalarType "line"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "opaque_in" [Pseudo Cstring]-> (Pseudo Opaque)-> False,-> CatCreateFunction FunName "opaque_out" [Pseudo Opaque]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "time", ScalarType "time", ScalarType "time",-> ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "time", ScalarType "time", ScalarType "time",-> ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "time", ScalarType "interval", ScalarType "time",-> ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "time", ScalarType "interval", ScalarType "time",-> ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "timestamp", ScalarType "timestamp",-> ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "timestamp", ScalarType "timestamp",-> ScalarType "timestamp", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "timestamp", ScalarType "interval",-> ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "timestamp", ScalarType "interval",-> ScalarType "timestamp", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "timestamptz", ScalarType "timestamptz",-> ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "timestamptz", ScalarType "timestamptz",-> ScalarType "timestamptz", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "timestamptz", ScalarType "interval",-> ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "timestamptz", ScalarType "interval",-> ScalarType "timestamptz", ScalarType "interval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlaps"-> [ScalarType "timetz", ScalarType "timetz", ScalarType "timetz",-> ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "overlay"-> [ScalarType "text", ScalarType "text", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "overlay"-> [ScalarType "text", ScalarType "text", ScalarType "int4",-> ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "path" [ScalarType "polygon"]-> (ScalarType "path")-> False,-> CatCreateFunction FunName "path_add"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "path")-> False,-> CatCreateFunction FunName "path_add_pt"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "path")-> False,-> CatCreateFunction FunName "path_center" [ScalarType "path"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "path_contain_pt"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "path_distance"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "path_div_pt"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "path")-> False,-> CatCreateFunction FunName "path_in" [Pseudo Cstring]-> (ScalarType "path")-> False,-> CatCreateFunction FunName "path_inter"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "path_length" [ScalarType "path"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "path_mul_pt"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "path")-> False,-> CatCreateFunction FunName "path_n_eq"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "path_n_ge"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "path_n_gt"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "path_n_le"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "path_n_lt"-> [ScalarType "path", ScalarType "path"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "path_npoints" [ScalarType "path"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "path_out" [ScalarType "path"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "path_recv" [Pseudo Internal]-> (ScalarType "path")-> False,-> CatCreateFunction FunName "path_send" [ScalarType "path"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "path_sub_pt"-> [ScalarType "path", ScalarType "point"]-> (ScalarType "path")-> False,-> CatCreateFunction FunName "pclose" [ScalarType "path"]-> (ScalarType "path")-> False,-> CatCreateFunction FunName "pg_advisory_lock" [ScalarType "int8"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "pg_advisory_lock"-> [ScalarType "int4", ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "pg_advisory_lock_shared"-> [ScalarType "int8"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "pg_advisory_lock_shared"-> [ScalarType "int4", ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "pg_advisory_unlock" [ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_advisory_unlock"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_advisory_unlock_all" [] (Pseudo Void)-> False,-> CatCreateFunction FunName "pg_advisory_unlock_shared"-> [ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_advisory_unlock_shared"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_backend_pid" [] (ScalarType "int4")-> False,-> CatCreateFunction FunName "pg_cancel_backend" [ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_char_to_encoding" [ScalarType "name"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "pg_client_encoding" []-> (ScalarType "name")-> False,-> CatCreateFunction FunName "pg_column_size" [Pseudo Any]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "pg_conf_load_time" []-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "pg_conversion_is_visible"-> [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_current_xlog_insert_location" []-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_current_xlog_location" []-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_cursor" []-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "pg_database_size" [ScalarType "name"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_database_size" [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_encoding_to_char" [ScalarType "int4"]-> (ScalarType "name")-> False,-> CatCreateFunction FunName "pg_function_is_visible"-> [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_get_constraintdef" [ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_constraintdef"-> [ScalarType "oid", ScalarType "bool"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_expr"-> [ScalarType "text", ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_expr"-> [ScalarType "text", ScalarType "oid", ScalarType "bool"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_function_arguments"-> [ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_function_identity_arguments"-> [ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_function_result"-> [ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_functiondef" [ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_indexdef" [ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_indexdef"-> [ScalarType "oid", ScalarType "int4", ScalarType "bool"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_keywords" []-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "pg_get_ruledef" [ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_ruledef"-> [ScalarType "oid", ScalarType "bool"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_serial_sequence"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_triggerdef" [ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_userbyid" [ScalarType "oid"]-> (ScalarType "name")-> False,-> CatCreateFunction FunName "pg_get_viewdef" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_viewdef" [ScalarType "oid"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_viewdef"-> [ScalarType "text", ScalarType "bool"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_get_viewdef"-> [ScalarType "oid", ScalarType "bool"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_has_role"-> [ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_has_role"-> [ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_has_role"-> [ScalarType "name", ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_has_role"-> [ScalarType "name", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_has_role"-> [ScalarType "oid", ScalarType "name", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_has_role"-> [ScalarType "oid", ScalarType "oid", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_is_other_temp_schema"-> [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_lock_status" []-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "pg_ls_dir" [ScalarType "text"]-> (SetOfType (ScalarType "text"))-> False,-> CatCreateFunction FunName "pg_my_temp_schema" [] (ScalarType "oid")-> False,-> CatCreateFunction FunName "pg_opclass_is_visible"-> [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_operator_is_visible"-> [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_options_to_table"-> [ArrayType (ScalarType "text")]-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "pg_postmaster_start_time" []-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "pg_prepared_statement" []-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "pg_prepared_xact" []-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "pg_read_file"-> [ScalarType "text", ScalarType "int8", ScalarType "int8"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_relation_size"-> [ScalarType "regclass"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_relation_size"-> [ScalarType "regclass", ScalarType "text"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_reload_conf" [] (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_rotate_logfile" []-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_show_all_settings" []-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "pg_size_pretty" [ScalarType "int8"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_sleep" [ScalarType "float8"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "pg_start_backup"-> [ScalarType "text", ScalarType "bool"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_stat_clear_snapshot" [] (Pseudo Void)-> False,-> CatCreateFunction FunName "pg_stat_file" [ScalarType "text"]-> (Pseudo Record)-> False,-> CatCreateFunction FunName "pg_stat_get_activity"-> [ScalarType "int4"]-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "pg_stat_get_backend_activity"-> [ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_stat_get_backend_activity_start"-> [ScalarType "int4"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "pg_stat_get_backend_client_addr"-> [ScalarType "int4"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "pg_stat_get_backend_client_port"-> [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "pg_stat_get_backend_dbid"-> [ScalarType "int4"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "pg_stat_get_backend_idset" []-> (SetOfType (ScalarType "int4"))-> False,-> CatCreateFunction FunName "pg_stat_get_backend_pid"-> [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "pg_stat_get_backend_start"-> [ScalarType "int4"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "pg_stat_get_backend_userid"-> [ScalarType "int4"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunName "pg_stat_get_backend_waiting"-> [ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_stat_get_backend_xact_start"-> [ScalarType "int4"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName-> "pg_stat_get_bgwriter_buf_written_checkpoints"-> []-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_bgwriter_buf_written_clean"-> []-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_bgwriter_maxwritten_clean"-> []-> (ScalarType "int8")-> False,-> CatCreateFunction FunName-> "pg_stat_get_bgwriter_requested_checkpoints"-> []-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_bgwriter_timed_checkpoints"-> []-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_blocks_fetched"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_blocks_hit"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_buf_alloc" []-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_buf_written_backend" []-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_db_blocks_fetched"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_db_blocks_hit"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_db_numbackends"-> [ScalarType "oid"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "pg_stat_get_db_tuples_deleted"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_db_tuples_fetched"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_db_tuples_inserted"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_db_tuples_returned"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_db_tuples_updated"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_db_xact_commit"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_db_xact_rollback"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_dead_tuples"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_function_calls"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_function_self_time"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_function_time"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_last_analyze_time"-> [ScalarType "oid"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "pg_stat_get_last_autoanalyze_time"-> [ScalarType "oid"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "pg_stat_get_last_autovacuum_time"-> [ScalarType "oid"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "pg_stat_get_last_vacuum_time"-> [ScalarType "oid"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "pg_stat_get_live_tuples"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_numscans" [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_tuples_deleted"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_tuples_fetched"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_tuples_hot_updated"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_tuples_inserted"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_tuples_returned"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_get_tuples_updated"-> [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_stat_reset" [] (Pseudo Void) False,-> CatCreateFunction FunName "pg_stop_backup" [] (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_switch_xlog" [] (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_table_is_visible" [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_tablespace_databases"-> [ScalarType "oid"]-> (SetOfType (ScalarType "oid"))-> False,-> CatCreateFunction FunName "pg_tablespace_size" [ScalarType "name"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_tablespace_size" [ScalarType "oid"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_terminate_backend"-> [ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_timezone_abbrevs" []-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "pg_timezone_names" []-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "pg_total_relation_size"-> [ScalarType "regclass"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "pg_try_advisory_lock"-> [ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_try_advisory_lock"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_try_advisory_lock_shared"-> [ScalarType "int8"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_try_advisory_lock_shared"-> [ScalarType "int4", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_ts_config_is_visible"-> [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_ts_dict_is_visible"-> [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_ts_parser_is_visible"-> [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_ts_template_is_visible"-> [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_type_is_visible" [ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pg_typeof" [Pseudo Any]-> (ScalarType "regtype")-> False,-> CatCreateFunction FunName "pg_xlogfile_name" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "pg_xlogfile_name_offset"-> [ScalarType "text"]-> (Pseudo Record)-> False,-> CatCreateFunction FunName "pi" [] (ScalarType "float8") False,-> CatCreateFunction FunName "plainto_tsquery" [ScalarType "text"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "plainto_tsquery"-> [ScalarType "regconfig", ScalarType "text"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "point" [ScalarType "lseg"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point" [ScalarType "path"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point" [ScalarType "box"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point" [ScalarType "polygon"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point" [ScalarType "circle"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point_above"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "point_add"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point_below"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "point_distance"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "point_div"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point_eq"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "point_horiz"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "point_in" [Pseudo Cstring]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point_left"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "point_mul"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point_ne"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "point_out" [ScalarType "point"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "point_recv" [Pseudo Internal]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point_right"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "point_send" [ScalarType "point"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "point_sub"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "point_vert"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_above"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_below"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_center" [ScalarType "polygon"]-> (ScalarType "point")-> False,-> CatCreateFunction FunName "poly_contain"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_contain_pt"-> [ScalarType "polygon", ScalarType "point"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_contained"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_distance"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "poly_in" [Pseudo Cstring]-> (ScalarType "polygon")-> False,-> CatCreateFunction FunName "poly_left"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_npoints" [ScalarType "polygon"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "poly_out" [ScalarType "polygon"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "poly_overabove"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_overbelow"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_overlap"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_overleft"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_overright"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_recv" [Pseudo Internal]-> (ScalarType "polygon")-> False,-> CatCreateFunction FunName "poly_right"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_same"-> [ScalarType "polygon", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "poly_send" [ScalarType "polygon"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "polygon" [ScalarType "path"]-> (ScalarType "polygon")-> False,-> CatCreateFunction FunName "polygon" [ScalarType "box"]-> (ScalarType "polygon")-> False,-> CatCreateFunction FunName "polygon" [ScalarType "circle"]-> (ScalarType "polygon")-> False,-> CatCreateFunction FunName "polygon"-> [ScalarType "int4", ScalarType "circle"]-> (ScalarType "polygon")-> False,-> CatCreateFunction FunName "popen" [ScalarType "path"]-> (ScalarType "path")-> False,-> CatCreateFunction FunName "position"-> [ScalarType "bytea", ScalarType "bytea"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "position"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "position"-> [ScalarType "bit", ScalarType "bit"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "positionjoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "positionsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "postgresql_fdw_validator"-> [ArrayType (ScalarType "text"), ScalarType "oid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pow"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "pow"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "power"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "power"-> [ScalarType "numeric", ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "prsd_end" [Pseudo Internal]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "prsd_headline"-> [Pseudo Internal, Pseudo Internal, ScalarType "tsquery"]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "prsd_lextype" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "prsd_nexttoken"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "prsd_start"-> [Pseudo Internal, ScalarType "int4"]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "pt_contained_circle"-> [ScalarType "point", ScalarType "circle"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "pt_contained_poly"-> [ScalarType "point", ScalarType "polygon"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "query_to_xml"-> [ScalarType "text", ScalarType "bool", ScalarType "bool",-> ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "query_to_xml_and_xmlschema"-> [ScalarType "text", ScalarType "bool", ScalarType "bool",-> ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "query_to_xmlschema"-> [ScalarType "text", ScalarType "bool", ScalarType "bool",-> ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "querytree" [ScalarType "tsquery"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "quote_ident" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "quote_literal" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "quote_literal" [Pseudo AnyElement]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "quote_nullable" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "quote_nullable" [Pseudo AnyElement]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "radians" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "radius" [ScalarType "circle"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "random" [] (ScalarType "float8") False,-> CatCreateFunction FunName "record_eq"-> [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "record_ge"-> [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "record_gt"-> [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "record_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (Pseudo Record)-> False,-> CatCreateFunction FunName "record_le"-> [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "record_lt"-> [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "record_ne"-> [Pseudo Record, Pseudo Record]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "record_out" [Pseudo Record]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "record_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (Pseudo Record)-> False,-> CatCreateFunction FunName "record_send" [Pseudo Record]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "regclass" [ScalarType "text"]-> (ScalarType "regclass")-> False,-> CatCreateFunction FunName "regclassin" [Pseudo Cstring]-> (ScalarType "regclass")-> False,-> CatCreateFunction FunName "regclassout" [ScalarType "regclass"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "regclassrecv" [Pseudo Internal]-> (ScalarType "regclass")-> False,-> CatCreateFunction FunName "regclasssend" [ScalarType "regclass"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "regconfigin" [Pseudo Cstring]-> (ScalarType "regconfig")-> False,-> CatCreateFunction FunName "regconfigout" [ScalarType "regconfig"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "regconfigrecv" [Pseudo Internal]-> (ScalarType "regconfig")-> False,-> CatCreateFunction FunName "regconfigsend" [ScalarType "regconfig"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "regdictionaryin" [Pseudo Cstring]-> (ScalarType "regdictionary")-> False,-> CatCreateFunction FunName "regdictionaryout"-> [ScalarType "regdictionary"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "regdictionaryrecv" [Pseudo Internal]-> (ScalarType "regdictionary")-> False,-> CatCreateFunction FunName "regdictionarysend"-> [ScalarType "regdictionary"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "regexeqjoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "regexeqsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "regexnejoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "regexnesel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "regexp_matches"-> [ScalarType "text", ScalarType "text"]-> (SetOfType (ArrayType (ScalarType "text")))-> False,-> CatCreateFunction FunName "regexp_matches"-> [ScalarType "text", ScalarType "text", ScalarType "text"]-> (SetOfType (ArrayType (ScalarType "text")))-> False,-> CatCreateFunction FunName "regexp_replace"-> [ScalarType "text", ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "regexp_replace"-> [ScalarType "text", ScalarType "text", ScalarType "text",-> ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "regexp_split_to_array"-> [ScalarType "text", ScalarType "text"]-> (ArrayType (ScalarType "text"))-> False,-> CatCreateFunction FunName "regexp_split_to_array"-> [ScalarType "text", ScalarType "text", ScalarType "text"]-> (ArrayType (ScalarType "text"))-> False,-> CatCreateFunction FunName "regexp_split_to_table"-> [ScalarType "text", ScalarType "text"]-> (SetOfType (ScalarType "text"))-> False,-> CatCreateFunction FunName "regexp_split_to_table"-> [ScalarType "text", ScalarType "text", ScalarType "text"]-> (SetOfType (ScalarType "text"))-> False,-> CatCreateFunction FunName "regoperatorin" [Pseudo Cstring]-> (ScalarType "regoperator")-> False,-> CatCreateFunction FunName "regoperatorout"-> [ScalarType "regoperator"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "regoperatorrecv" [Pseudo Internal]-> (ScalarType "regoperator")-> False,-> CatCreateFunction FunName "regoperatorsend"-> [ScalarType "regoperator"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "regoperin" [Pseudo Cstring]-> (ScalarType "regoper")-> False,-> CatCreateFunction FunName "regoperout" [ScalarType "regoper"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "regoperrecv" [Pseudo Internal]-> (ScalarType "regoper")-> False,-> CatCreateFunction FunName "regopersend" [ScalarType "regoper"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "regprocedurein" [Pseudo Cstring]-> (ScalarType "regprocedure")-> False,-> CatCreateFunction FunName "regprocedureout"-> [ScalarType "regprocedure"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "regprocedurerecv" [Pseudo Internal]-> (ScalarType "regprocedure")-> False,-> CatCreateFunction FunName "regproceduresend"-> [ScalarType "regprocedure"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "regprocin" [Pseudo Cstring]-> (ScalarType "regproc")-> False,-> CatCreateFunction FunName "regprocout" [ScalarType "regproc"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "regprocrecv" [Pseudo Internal]-> (ScalarType "regproc")-> False,-> CatCreateFunction FunName "regprocsend" [ScalarType "regproc"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "regtypein" [Pseudo Cstring]-> (ScalarType "regtype")-> False,-> CatCreateFunction FunName "regtypeout" [ScalarType "regtype"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "regtyperecv" [Pseudo Internal]-> (ScalarType "regtype")-> False,-> CatCreateFunction FunName "regtypesend" [ScalarType "regtype"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "reltime" [ScalarType "interval"]-> (ScalarType "reltime")-> False,-> CatCreateFunction FunName "reltimeeq"-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "reltimege"-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "reltimegt"-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "reltimein" [Pseudo Cstring]-> (ScalarType "reltime")-> False,-> CatCreateFunction FunName "reltimele"-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "reltimelt"-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "reltimene"-> [ScalarType "reltime", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "reltimeout" [ScalarType "reltime"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "reltimerecv" [Pseudo Internal]-> (ScalarType "reltime")-> False,-> CatCreateFunction FunName "reltimesend" [ScalarType "reltime"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "repeat"-> [ScalarType "text", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "replace"-> [ScalarType "text", ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "round" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "round" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "round"-> [ScalarType "numeric", ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "rpad"-> [ScalarType "text", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "rpad"-> [ScalarType "text", ScalarType "int4", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "rtrim" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "rtrim"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "scalargtjoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "scalargtsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "scalarltjoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "scalarltsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "schema_to_xml"-> [ScalarType "name", ScalarType "bool", ScalarType "bool",-> ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "schema_to_xml_and_xmlschema"-> [ScalarType "name", ScalarType "bool", ScalarType "bool",-> ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "schema_to_xmlschema"-> [ScalarType "name", ScalarType "bool", ScalarType "bool",-> ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "session_user" [] (ScalarType "name")-> False,-> CatCreateFunction FunName "set_bit"-> [ScalarType "bytea", ScalarType "int4", ScalarType "int4"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "set_byte"-> [ScalarType "bytea", ScalarType "int4", ScalarType "int4"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "set_config"-> [ScalarType "text", ScalarType "text", ScalarType "bool"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "set_masklen"-> [ScalarType "cidr", ScalarType "int4"]-> (ScalarType "cidr")-> False,-> CatCreateFunction FunName "set_masklen"-> [ScalarType "inet", ScalarType "int4"]-> (ScalarType "inet")-> False,-> CatCreateFunction FunName "setseed" [ScalarType "float8"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "setval"-> [ScalarType "regclass", ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "setval"-> [ScalarType "regclass", ScalarType "int8", ScalarType "bool"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "setweight"-> [ScalarType "tsvector", ScalarType "char"]-> (ScalarType "tsvector")-> False,-> CatCreateFunction FunName "shell_in" [Pseudo Cstring]-> (Pseudo Opaque)-> False,-> CatCreateFunction FunName "shell_out" [Pseudo Opaque]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "shift_jis_2004_to_euc_jis_2004"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "shift_jis_2004_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "shobj_description"-> [ScalarType "oid", ScalarType "name"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "sign" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "sign" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "similar_escape"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "sin" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "sjis_to_euc_jp"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "sjis_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "sjis_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "slope"-> [ScalarType "point", ScalarType "point"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "smgreq"-> [ScalarType "smgr", ScalarType "smgr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "smgrin" [Pseudo Cstring]-> (ScalarType "smgr")-> False,-> CatCreateFunction FunName "smgrne"-> [ScalarType "smgr", ScalarType "smgr"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "smgrout" [ScalarType "smgr"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "split_part"-> [ScalarType "text", ScalarType "text", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "sqrt" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "sqrt" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "statement_timestamp" []-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "string_to_array"-> [ScalarType "text", ScalarType "text"]-> (ArrayType (ScalarType "text"))-> False,-> CatCreateFunction FunName "strip" [ScalarType "tsvector"]-> (ScalarType "tsvector")-> False,-> CatCreateFunction FunName "strpos"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "substr"-> [ScalarType "bytea", ScalarType "int4"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "substr"-> [ScalarType "text", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "substr"-> [ScalarType "bytea", ScalarType "int4", ScalarType "int4"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "substr"-> [ScalarType "text", ScalarType "int4", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "substring"-> [ScalarType "bytea", ScalarType "int4"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "substring"-> [ScalarType "text", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "substring"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "substring"-> [ScalarType "bit", ScalarType "int4"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "substring"-> [ScalarType "bytea", ScalarType "int4", ScalarType "int4"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "substring"-> [ScalarType "text", ScalarType "int4", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "substring"-> [ScalarType "text", ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "substring"-> [ScalarType "bit", ScalarType "int4", ScalarType "int4"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunName "suppress_redundant_updates_trigger" []-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "table_to_xml"-> [ScalarType "regclass", ScalarType "bool", ScalarType "bool",-> ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "table_to_xml_and_xmlschema"-> [ScalarType "regclass", ScalarType "bool", ScalarType "bool",-> ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "table_to_xmlschema"-> [ScalarType "regclass", ScalarType "bool", ScalarType "bool",-> ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "tan" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "text" [ScalarType "bool"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "text" [ScalarType "char"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "text" [ScalarType "name"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "text" [ScalarType "xml"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "text" [ScalarType "inet"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "text" [ScalarType "bpchar"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "text_ge"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "text_gt"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "text_larger"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "text_le"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "text_lt"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "text_pattern_ge"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "text_pattern_gt"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "text_pattern_le"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "text_pattern_lt"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "text_smaller"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "textanycat"-> [ScalarType "text", Pseudo AnyNonArray]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "textcat"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "texteq"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "texticlike"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "texticnlike"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "texticregexeq"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "texticregexne"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "textin" [Pseudo Cstring]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "textlen" [ScalarType "text"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "textlike"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "textne"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "textnlike"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "textout" [ScalarType "text"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "textrecv" [Pseudo Internal]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "textregexeq"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "textregexne"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "textsend" [ScalarType "text"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "thesaurus_init" [Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "thesaurus_lexize"-> [Pseudo Internal, Pseudo Internal, Pseudo Internal,-> Pseudo Internal]-> (Pseudo Internal)-> False,-> CatCreateFunction FunName "tideq"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tidge"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tidgt"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tidin" [Pseudo Cstring]-> (ScalarType "tid")-> False,-> CatCreateFunction FunName "tidlarger"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "tid")-> False,-> CatCreateFunction FunName "tidle"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tidlt"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tidne"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tidout" [ScalarType "tid"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "tidrecv" [Pseudo Internal]-> (ScalarType "tid")-> False,-> CatCreateFunction FunName "tidsend" [ScalarType "tid"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "tidsmaller"-> [ScalarType "tid", ScalarType "tid"]-> (ScalarType "tid")-> False,-> CatCreateFunction FunName "time" [ScalarType "abstime"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time" [ScalarType "timestamp"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time" [ScalarType "timestamptz"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time" [ScalarType "interval"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time" [ScalarType "timetz"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time"-> [ScalarType "time", ScalarType "int4"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time_cmp"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "time_eq"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "time_ge"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "time_gt"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "time_hash" [ScalarType "time"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "time_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time_larger"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time_le"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "time_lt"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "time_mi_interval"-> [ScalarType "time", ScalarType "interval"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time_mi_time"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "time_ne"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "time_out" [ScalarType "time"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "time_pl_interval"-> [ScalarType "time", ScalarType "interval"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "time_send" [ScalarType "time"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "time_smaller"-> [ScalarType "time", ScalarType "time"]-> (ScalarType "time")-> False,-> CatCreateFunction FunName "timedate_pl"-> [ScalarType "time", ScalarType "date"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timemi"-> [ScalarType "abstime", ScalarType "reltime"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunName "timenow" [] (ScalarType "abstime")-> False,-> CatCreateFunction FunName "timeofday" [] (ScalarType "text") False,-> CatCreateFunction FunName "timepl"-> [ScalarType "abstime", ScalarType "reltime"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunName "timestamp" [ScalarType "abstime"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamp" [ScalarType "date"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamp" [ScalarType "timestamptz"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamp"-> [ScalarType "date", ScalarType "time"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamp"-> [ScalarType "timestamp", ScalarType "int4"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamp_cmp"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timestamp_cmp_date"-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timestamp_cmp_timestamptz"-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timestamp_eq"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_eq_date"-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_eq_timestamptz"-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_ge"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_ge_date"-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_ge_timestamptz"-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_gt"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_gt_date"-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_gt_timestamptz"-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_hash" [ScalarType "timestamp"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timestamp_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamp_larger"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamp_le"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_le_date"-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_le_timestamptz"-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_lt"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_lt_date"-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_lt_timestamptz"-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_mi"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "timestamp_mi_interval"-> [ScalarType "timestamp", ScalarType "interval"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamp_ne"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_ne_date"-> [ScalarType "timestamp", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_ne_timestamptz"-> [ScalarType "timestamp", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamp_out" [ScalarType "timestamp"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "timestamp_pl_interval"-> [ScalarType "timestamp", ScalarType "interval"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamp_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamp_send" [ScalarType "timestamp"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "timestamp_smaller"-> [ScalarType "timestamp", ScalarType "timestamp"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timestamptypmodin"-> [ArrayType (Pseudo Cstring)]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timestamptypmodout" [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "timestamptz" [ScalarType "abstime"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz" [ScalarType "date"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz" [ScalarType "timestamp"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz"-> [ScalarType "date", ScalarType "time"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz"-> [ScalarType "date", ScalarType "timetz"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz"-> [ScalarType "timestamptz", ScalarType "int4"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz_cmp"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timestamptz_cmp_date"-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timestamptz_cmp_timestamp"-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timestamptz_eq"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_eq_date"-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_eq_timestamp"-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_ge"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_ge_date"-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_ge_timestamp"-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_gt"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_gt_date"-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_gt_timestamp"-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz_larger"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz_le"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_le_date"-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_le_timestamp"-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_lt"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_lt_date"-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_lt_timestamp"-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_mi"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunName "timestamptz_mi_interval"-> [ScalarType "timestamptz", ScalarType "interval"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz_ne"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_ne_date"-> [ScalarType "timestamptz", ScalarType "date"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_ne_timestamp"-> [ScalarType "timestamptz", ScalarType "timestamp"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timestamptz_out"-> [ScalarType "timestamptz"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "timestamptz_pl_interval"-> [ScalarType "timestamptz", ScalarType "interval"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptz_send"-> [ScalarType "timestamptz"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "timestamptz_smaller"-> [ScalarType "timestamptz", ScalarType "timestamptz"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timestamptztypmodin"-> [ArrayType (Pseudo Cstring)]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timestamptztypmodout"-> [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "timetypmodin"-> [ArrayType (Pseudo Cstring)]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timetypmodout" [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "timetz" [ScalarType "time"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "timetz" [ScalarType "timestamptz"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "timetz"-> [ScalarType "timetz", ScalarType "int4"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "timetz_cmp"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timetz_eq"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timetz_ge"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timetz_gt"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timetz_hash" [ScalarType "timetz"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timetz_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "timetz_larger"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "timetz_le"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timetz_lt"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timetz_mi_interval"-> [ScalarType "timetz", ScalarType "interval"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "timetz_ne"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "timetz_out" [ScalarType "timetz"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "timetz_pl_interval"-> [ScalarType "timetz", ScalarType "interval"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "timetz_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "timetz_send" [ScalarType "timetz"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "timetz_smaller"-> [ScalarType "timetz", ScalarType "timetz"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "timetzdate_pl"-> [ScalarType "timetz", ScalarType "date"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timetztypmodin"-> [ArrayType (Pseudo Cstring)]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "timetztypmodout" [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "timezone"-> [ScalarType "text", ScalarType "timestamp"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timezone"-> [ScalarType "text", ScalarType "timestamptz"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timezone"-> [ScalarType "text", ScalarType "timetz"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "timezone"-> [ScalarType "interval", ScalarType "timestamp"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "timezone"-> [ScalarType "interval", ScalarType "timestamptz"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunName "timezone"-> [ScalarType "interval", ScalarType "timetz"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunName "tinterval"-> [ScalarType "abstime", ScalarType "abstime"]-> (ScalarType "tinterval")-> False,-> CatCreateFunction FunName "tintervalct"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervalend" [ScalarType "tinterval"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunName "tintervaleq"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervalge"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervalgt"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervalin" [Pseudo Cstring]-> (ScalarType "tinterval")-> False,-> CatCreateFunction FunName "tintervalle"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervalleneq"-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervallenge"-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervallengt"-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervallenle"-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervallenlt"-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervallenne"-> [ScalarType "tinterval", ScalarType "reltime"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervallt"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervalne"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervalout" [ScalarType "tinterval"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "tintervalov"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervalrecv" [Pseudo Internal]-> (ScalarType "tinterval")-> False,-> CatCreateFunction FunName "tintervalrel" [ScalarType "tinterval"]-> (ScalarType "reltime")-> False,-> CatCreateFunction FunName "tintervalsame"-> [ScalarType "tinterval", ScalarType "tinterval"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tintervalsend" [ScalarType "tinterval"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "tintervalstart" [ScalarType "tinterval"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunName "to_ascii" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_ascii"-> [ScalarType "text", ScalarType "name"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_ascii"-> [ScalarType "text", ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_char"-> [ScalarType "int8", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_char"-> [ScalarType "int4", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_char"-> [ScalarType "float4", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_char"-> [ScalarType "float8", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_char"-> [ScalarType "timestamp", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_char"-> [ScalarType "timestamptz", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_char"-> [ScalarType "interval", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_char"-> [ScalarType "numeric", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_date"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "date")-> False,-> CatCreateFunction FunName "to_hex" [ScalarType "int8"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_hex" [ScalarType "int4"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "to_number"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "to_timestamp" [ScalarType "float8"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "to_timestamp"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "to_tsquery" [ScalarType "text"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "to_tsquery"-> [ScalarType "regconfig", ScalarType "text"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "to_tsvector" [ScalarType "text"]-> (ScalarType "tsvector")-> False,-> CatCreateFunction FunName "to_tsvector"-> [ScalarType "regconfig", ScalarType "text"]-> (ScalarType "tsvector")-> False,-> CatCreateFunction FunName "transaction_timestamp" []-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunName "translate"-> [ScalarType "text", ScalarType "text", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "trigger_in" [Pseudo Cstring]-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "trigger_out" [Pseudo Trigger]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "trunc" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "trunc" [ScalarType "macaddr"]-> (ScalarType "macaddr")-> False,-> CatCreateFunction FunName "trunc" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "trunc"-> [ScalarType "numeric", ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunName "ts_debug" [ScalarType "text"]-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "ts_debug"-> [ScalarType "regconfig", ScalarType "text"]-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "ts_headline"-> [ScalarType "text", ScalarType "tsquery"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "ts_headline"-> [ScalarType "text", ScalarType "tsquery", ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "ts_headline"-> [ScalarType "regconfig", ScalarType "text", ScalarType "tsquery"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "ts_headline"-> [ScalarType "regconfig", ScalarType "text", ScalarType "tsquery",-> ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "ts_lexize"-> [ScalarType "regdictionary", ScalarType "text"]-> (ArrayType (ScalarType "text"))-> False,-> CatCreateFunction FunName "ts_match_qv"-> [ScalarType "tsquery", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ts_match_tq"-> [ScalarType "text", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ts_match_tt"-> [ScalarType "text", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ts_match_vq"-> [ScalarType "tsvector", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "ts_parse"-> [ScalarType "text", ScalarType "text"]-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "ts_parse"-> [ScalarType "oid", ScalarType "text"]-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "ts_rank"-> [ScalarType "tsvector", ScalarType "tsquery"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "ts_rank"-> [ArrayType (ScalarType "float4"), ScalarType "tsvector",-> ScalarType "tsquery"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "ts_rank"-> [ScalarType "tsvector", ScalarType "tsquery", ScalarType "int4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "ts_rank"-> [ArrayType (ScalarType "float4"), ScalarType "tsvector",-> ScalarType "tsquery", ScalarType "int4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "ts_rank_cd"-> [ScalarType "tsvector", ScalarType "tsquery"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "ts_rank_cd"-> [ArrayType (ScalarType "float4"), ScalarType "tsvector",-> ScalarType "tsquery"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "ts_rank_cd"-> [ScalarType "tsvector", ScalarType "tsquery", ScalarType "int4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "ts_rank_cd"-> [ArrayType (ScalarType "float4"), ScalarType "tsvector",-> ScalarType "tsquery", ScalarType "int4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunName "ts_rewrite"-> [ScalarType "tsquery", ScalarType "text"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "ts_rewrite"-> [ScalarType "tsquery", ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "ts_stat" [ScalarType "text"]-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "ts_stat"-> [ScalarType "text", ScalarType "text"]-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "ts_token_type" [ScalarType "text"]-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "ts_token_type" [ScalarType "oid"]-> (SetOfType (Pseudo Record))-> False,-> CatCreateFunction FunName "ts_typanalyze" [Pseudo Internal]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsmatchjoinsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int2", Pseudo Internal]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "tsmatchsel"-> [Pseudo Internal, ScalarType "oid", Pseudo Internal,-> ScalarType "int4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "tsq_mcontained"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsq_mcontains"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsquery_and"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "tsquery_cmp"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "tsquery_eq"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsquery_ge"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsquery_gt"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsquery_le"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsquery_lt"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsquery_ne"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsquery_not" [ScalarType "tsquery"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "tsquery_or"-> [ScalarType "tsquery", ScalarType "tsquery"]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "tsqueryin" [Pseudo Cstring]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "tsqueryout" [ScalarType "tsquery"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "tsqueryrecv" [Pseudo Internal]-> (ScalarType "tsquery")-> False,-> CatCreateFunction FunName "tsquerysend" [ScalarType "tsquery"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "tsvector_cmp"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "tsvector_concat"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "tsvector")-> False,-> CatCreateFunction FunName "tsvector_eq"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsvector_ge"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsvector_gt"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsvector_le"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsvector_lt"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsvector_ne"-> [ScalarType "tsvector", ScalarType "tsvector"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "tsvector_update_trigger" []-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "tsvector_update_trigger_column" []-> (Pseudo Trigger)-> False,-> CatCreateFunction FunName "tsvectorin" [Pseudo Cstring]-> (ScalarType "tsvector")-> False,-> CatCreateFunction FunName "tsvectorout" [ScalarType "tsvector"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "tsvectorrecv" [Pseudo Internal]-> (ScalarType "tsvector")-> False,-> CatCreateFunction FunName "tsvectorsend" [ScalarType "tsvector"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "txid_current" [] (ScalarType "int8")-> False,-> CatCreateFunction FunName "txid_current_snapshot" []-> (ScalarType "txid_snapshot")-> False,-> CatCreateFunction FunName "txid_snapshot_in" [Pseudo Cstring]-> (ScalarType "txid_snapshot")-> False,-> CatCreateFunction FunName "txid_snapshot_out"-> [ScalarType "txid_snapshot"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "txid_snapshot_recv" [Pseudo Internal]-> (ScalarType "txid_snapshot")-> False,-> CatCreateFunction FunName "txid_snapshot_send"-> [ScalarType "txid_snapshot"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "txid_snapshot_xip"-> [ScalarType "txid_snapshot"]-> (SetOfType (ScalarType "int8"))-> False,-> CatCreateFunction FunName "txid_snapshot_xmax"-> [ScalarType "txid_snapshot"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "txid_snapshot_xmin"-> [ScalarType "txid_snapshot"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunName "txid_visible_in_snapshot"-> [ScalarType "int8", ScalarType "txid_snapshot"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "uhc_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "unknownin" [Pseudo Cstring]-> (ScalarType "unknown")-> False,-> CatCreateFunction FunName "unknownout" [ScalarType "unknown"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "unknownrecv" [Pseudo Internal]-> (ScalarType "unknown")-> False,-> CatCreateFunction FunName "unknownsend" [ScalarType "unknown"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "unnest" [Pseudo AnyArray]-> (SetOfType (Pseudo AnyElement))-> False,-> CatCreateFunction FunName "upper" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunName "utf8_to_ascii"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_big5"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_euc_cn"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_euc_jis_2004"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_euc_jp"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_euc_kr"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_euc_tw"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_gb18030"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_gbk"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_iso8859"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_iso8859_1"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_johab"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_koi8r"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_koi8u"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_shift_jis_2004"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_sjis"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_uhc"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "utf8_to_win"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "uuid_cmp"-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "uuid_eq"-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "uuid_ge"-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "uuid_gt"-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "uuid_hash" [ScalarType "uuid"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "uuid_in" [Pseudo Cstring]-> (ScalarType "uuid")-> False,-> CatCreateFunction FunName "uuid_le"-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "uuid_lt"-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "uuid_ne"-> [ScalarType "uuid", ScalarType "uuid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "uuid_out" [ScalarType "uuid"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "uuid_recv" [Pseudo Internal]-> (ScalarType "uuid")-> False,-> CatCreateFunction FunName "uuid_send" [ScalarType "uuid"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "varbit"-> [ScalarType "varbit", ScalarType "int4", ScalarType "bool"]-> (ScalarType "varbit")-> False,-> CatCreateFunction FunName "varbit_in"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (ScalarType "varbit")-> False,-> CatCreateFunction FunName "varbit_out" [ScalarType "varbit"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "varbit_recv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (ScalarType "varbit")-> False,-> CatCreateFunction FunName "varbit_send" [ScalarType "varbit"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "varbitcmp"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "varbiteq"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "varbitge"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "varbitgt"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "varbitle"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "varbitlt"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "varbitne"-> [ScalarType "varbit", ScalarType "varbit"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "varbittypmodin"-> [ArrayType (Pseudo Cstring)]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "varbittypmodout" [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "varchar" [ScalarType "name"]-> (ScalarType "varchar")-> False,-> CatCreateFunction FunName "varchar"-> [ScalarType "varchar", ScalarType "int4", ScalarType "bool"]-> (ScalarType "varchar")-> False,-> CatCreateFunction FunName "varcharin"-> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]-> (ScalarType "varchar")-> False,-> CatCreateFunction FunName "varcharout" [ScalarType "varchar"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "varcharrecv"-> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]-> (ScalarType "varchar")-> False,-> CatCreateFunction FunName "varcharsend" [ScalarType "varchar"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "varchartypmodin"-> [ArrayType (Pseudo Cstring)]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "varchartypmodout" [ScalarType "int4"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "version" [] (ScalarType "text") False,-> CatCreateFunction FunName "void_in" [Pseudo Cstring] (Pseudo Void)-> False,-> CatCreateFunction FunName "void_out" [Pseudo Void] (Pseudo Cstring)-> False,-> CatCreateFunction FunName "width" [ScalarType "box"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunName "width_bucket"-> [ScalarType "float8", ScalarType "float8", ScalarType "float8",-> ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "width_bucket"-> [ScalarType "numeric", ScalarType "numeric", ScalarType "numeric",-> ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunName "win1250_to_latin2"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "win1250_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "win1251_to_iso"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "win1251_to_koi8r"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "win1251_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "win1251_to_win866"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "win866_to_iso"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "win866_to_koi8r"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "win866_to_mic"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "win866_to_win1251"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "win_to_utf8"-> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,-> Pseudo Internal, ScalarType "int4"]-> (Pseudo Void)-> False,-> CatCreateFunction FunName "xideq"-> [ScalarType "xid", ScalarType "xid"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "xideqint4"-> [ScalarType "xid", ScalarType "int4"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "xidin" [Pseudo Cstring]-> (ScalarType "xid")-> False,-> CatCreateFunction FunName "xidout" [ScalarType "xid"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "xidrecv" [Pseudo Internal]-> (ScalarType "xid")-> False,-> CatCreateFunction FunName "xidsend" [ScalarType "xid"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "xml" [ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "xml_in" [Pseudo Cstring]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "xml_out" [ScalarType "xml"]-> (Pseudo Cstring)-> False,-> CatCreateFunction FunName "xml_recv" [Pseudo Internal]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "xml_send" [ScalarType "xml"]-> (ScalarType "bytea")-> False,-> CatCreateFunction FunName "xmlcomment" [ScalarType "text"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "xmlconcat2"-> [ScalarType "xml", ScalarType "xml"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunName "xmlvalidate"-> [ScalarType "xml", ScalarType "text"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunName "xpath"-> [ScalarType "text", ScalarType "xml"]-> (ArrayType (ScalarType "xml"))-> False,-> CatCreateFunction FunName "xpath"-> [ScalarType "text", ScalarType "xml",-> ArrayType (ScalarType "text")]-> (ArrayType (ScalarType "xml"))-> False,-> CatCreateFunction FunAgg "array_agg" [Pseudo AnyElement]-> (Pseudo AnyArray)-> False,-> CatCreateFunction FunAgg "avg" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "avg" [ScalarType "int2"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "avg" [ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "avg" [ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "avg" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "avg" [ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunAgg "avg" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "bit_and" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunAgg "bit_and" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunAgg "bit_and" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunAgg "bit_and" [ScalarType "bit"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunAgg "bit_or" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunAgg "bit_or" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunAgg "bit_or" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunAgg "bit_or" [ScalarType "bit"]-> (ScalarType "bit")-> False,-> CatCreateFunction FunAgg "bool_and" [ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunAgg "bool_or" [ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunAgg "corr"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "count" [] (ScalarType "int8") False,-> CatCreateFunction FunAgg "count" [Pseudo Any] (ScalarType "int8")-> False,-> CatCreateFunction FunAgg "covar_pop"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "covar_samp"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "every" [ScalarType "bool"]-> (ScalarType "bool")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "oid"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "tid"]-> (ScalarType "tid")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "abstime"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "bpchar"]-> (ScalarType "bpchar")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "date"]-> (ScalarType "date")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "time"]-> (ScalarType "time")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "timestamp"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "timestamptz"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "timetz"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunAgg "max" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "max" [Pseudo AnyArray] (Pseudo AnyArray)-> False,-> CatCreateFunction FunAgg "max" [Pseudo AnyEnum] (Pseudo AnyEnum)-> False,-> CatCreateFunction FunAgg "min" [ScalarType "int8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "int2"]-> (ScalarType "int2")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "text"]-> (ScalarType "text")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "oid"]-> (ScalarType "oid")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "tid"]-> (ScalarType "tid")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "abstime"]-> (ScalarType "abstime")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "bpchar"]-> (ScalarType "bpchar")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "date"]-> (ScalarType "date")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "time"]-> (ScalarType "time")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "timestamp"]-> (ScalarType "timestamp")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "timestamptz"]-> (ScalarType "timestamptz")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "timetz"]-> (ScalarType "timetz")-> False,-> CatCreateFunction FunAgg "min" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "min" [Pseudo AnyArray] (Pseudo AnyArray)-> False,-> CatCreateFunction FunAgg "min" [Pseudo AnyEnum] (Pseudo AnyEnum)-> False,-> CatCreateFunction FunAgg "regr_avgx"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "regr_avgy"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "regr_count"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunAgg "regr_intercept"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "regr_r2"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "regr_slope"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "regr_sxx"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "regr_sxy"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "regr_syy"-> [ScalarType "float8", ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "stddev" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev" [ScalarType "int2"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev" [ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev" [ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "stddev" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "stddev" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev_pop" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev_pop" [ScalarType "int2"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev_pop" [ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev_pop" [ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "stddev_pop" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "stddev_pop" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev_samp" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev_samp" [ScalarType "int2"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev_samp" [ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "stddev_samp" [ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "stddev_samp" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "stddev_samp" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "sum" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "sum" [ScalarType "int2"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunAgg "sum" [ScalarType "int4"]-> (ScalarType "int8")-> False,-> CatCreateFunction FunAgg "sum" [ScalarType "float4"]-> (ScalarType "float4")-> False,-> CatCreateFunction FunAgg "sum" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "sum" [ScalarType "money"]-> (ScalarType "money")-> False,-> CatCreateFunction FunAgg "sum" [ScalarType "interval"]-> (ScalarType "interval")-> False,-> CatCreateFunction FunAgg "sum" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "var_pop" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "var_pop" [ScalarType "int2"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "var_pop" [ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "var_pop" [ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "var_pop" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "var_pop" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "var_samp" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "var_samp" [ScalarType "int2"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "var_samp" [ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "var_samp" [ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "var_samp" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "var_samp" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "variance" [ScalarType "int8"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "variance" [ScalarType "int2"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "variance" [ScalarType "int4"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "variance" [ScalarType "float4"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "variance" [ScalarType "float8"]-> (ScalarType "float8")-> False,-> CatCreateFunction FunAgg "variance" [ScalarType "numeric"]-> (ScalarType "numeric")-> False,-> CatCreateFunction FunAgg "xmlagg" [ScalarType "xml"]-> (ScalarType "xml")-> False,-> CatCreateFunction FunWindow "cume_dist" [] (ScalarType "float8")-> False,-> CatCreateFunction FunWindow "dense_rank" [] (ScalarType "int8")-> False,-> CatCreateFunction FunWindow "first_value" [Pseudo AnyElement]-> (Pseudo AnyElement)-> False,-> CatCreateFunction FunWindow "lag" [Pseudo AnyElement]-> (Pseudo AnyElement)-> False,-> CatCreateFunction FunWindow "lag"-> [Pseudo AnyElement, ScalarType "int4"]-> (Pseudo AnyElement)-> False,-> CatCreateFunction FunWindow "lag"-> [Pseudo AnyElement, ScalarType "int4", Pseudo AnyElement]-> (Pseudo AnyElement)-> False,-> CatCreateFunction FunWindow "last_value" [Pseudo AnyElement]-> (Pseudo AnyElement)-> False,-> CatCreateFunction FunWindow "lead" [Pseudo AnyElement]-> (Pseudo AnyElement)-> False,-> CatCreateFunction FunWindow "lead"-> [Pseudo AnyElement, ScalarType "int4"]-> (Pseudo AnyElement)-> False,-> CatCreateFunction FunWindow "lead"-> [Pseudo AnyElement, ScalarType "int4", Pseudo AnyElement]-> (Pseudo AnyElement)-> False,-> CatCreateFunction FunWindow "nth_value"-> [Pseudo AnyElement, ScalarType "int4"]-> (Pseudo AnyElement)-> False,-> CatCreateFunction FunWindow "ntile" [ScalarType "int4"]-> (ScalarType "int4")-> False,-> CatCreateFunction FunWindow "percent_rank" [] (ScalarType "float8")-> False,-> CatCreateFunction FunWindow "rank" [] (ScalarType "int8") False,-> CatCreateFunction FunWindow "row_number" [] (ScalarType "int8")-> False,-> CatCreateTable "pg_aggregate"-> [("aggfnoid", ScalarType "regproc"),-> ("aggtransfn", ScalarType "regproc"),-> ("aggfinalfn", ScalarType "regproc"),-> ("aggsortop", ScalarType "oid"),-> ("aggtranstype", ScalarType "oid"),-> ("agginitval", ScalarType "text")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_am"-> [("amname", ScalarType "name"),-> ("amstrategies", ScalarType "int2"),-> ("amsupport", ScalarType "int2"),-> ("amcanorder", ScalarType "bool"),-> ("amcanbackward", ScalarType "bool"),-> ("amcanunique", ScalarType "bool"),-> ("amcanmulticol", ScalarType "bool"),-> ("amoptionalkey", ScalarType "bool"),-> ("amindexnulls", ScalarType "bool"),-> ("amsearchnulls", ScalarType "bool"),-> ("amstorage", ScalarType "bool"),-> ("amclusterable", ScalarType "bool"),-> ("amkeytype", ScalarType "oid"),-> ("aminsert", ScalarType "regproc"),-> ("ambeginscan", ScalarType "regproc"),-> ("amgettuple", ScalarType "regproc"),-> ("amgetbitmap", ScalarType "regproc"),-> ("amrescan", ScalarType "regproc"),-> ("amendscan", ScalarType "regproc"),-> ("ammarkpos", ScalarType "regproc"),-> ("amrestrpos", ScalarType "regproc"),-> ("ambuild", ScalarType "regproc"),-> ("ambulkdelete", ScalarType "regproc"),-> ("amvacuumcleanup", ScalarType "regproc"),-> ("amcostestimate", ScalarType "regproc"),-> ("amoptions", ScalarType "regproc")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_amop"-> [("amopfamily", ScalarType "oid"),-> ("amoplefttype", ScalarType "oid"),-> ("amoprighttype", ScalarType "oid"),-> ("amopstrategy", ScalarType "int2"), ("amopopr", ScalarType "oid"),-> ("amopmethod", ScalarType "oid")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_amproc"-> [("amprocfamily", ScalarType "oid"),-> ("amproclefttype", ScalarType "oid"),-> ("amprocrighttype", ScalarType "oid"),-> ("amprocnum", ScalarType "int2"), ("amproc", ScalarType "regproc")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_attrdef"-> [("adrelid", ScalarType "oid"), ("adnum", ScalarType "int2"),-> ("adbin", ScalarType "text"), ("adsrc", ScalarType "text")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_attribute"-> [("attrelid", ScalarType "oid"), ("attname", ScalarType "name"),-> ("atttypid", ScalarType "oid"),-> ("attstattarget", ScalarType "int4"),-> ("attlen", ScalarType "int2"), ("attnum", ScalarType "int2"),-> ("attndims", ScalarType "int4"),-> ("attcacheoff", ScalarType "int4"),-> ("atttypmod", ScalarType "int4"), ("attbyval", ScalarType "bool"),-> ("attstorage", ScalarType "char"), ("attalign", ScalarType "char"),-> ("attnotnull", ScalarType "bool"),-> ("atthasdef", ScalarType "bool"),-> ("attisdropped", ScalarType "bool"),-> ("attislocal", ScalarType "bool"),-> ("attinhcount", ScalarType "int4"),-> ("attacl", ArrayType (ScalarType "aclitem"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_auth_members"-> [("roleid", ScalarType "oid"), ("member", ScalarType "oid"),-> ("grantor", ScalarType "oid"), ("admin_option", ScalarType "bool")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_authid"-> [("rolname", ScalarType "name"), ("rolsuper", ScalarType "bool"),-> ("rolinherit", ScalarType "bool"),-> ("rolcreaterole", ScalarType "bool"),-> ("rolcreatedb", ScalarType "bool"),-> ("rolcatupdate", ScalarType "bool"),-> ("rolcanlogin", ScalarType "bool"),-> ("rolconnlimit", ScalarType "int4"),-> ("rolpassword", ScalarType "text"),-> ("rolvaliduntil", ScalarType "timestamptz"),-> ("rolconfig", ArrayType (ScalarType "text"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_cast"-> [("castsource", ScalarType "oid"),-> ("casttarget", ScalarType "oid"), ("castfunc", ScalarType "oid"),-> ("castcontext", ScalarType "char"),-> ("castmethod", ScalarType "char")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_class"-> [("relname", ScalarType "name"),-> ("relnamespace", ScalarType "oid"), ("reltype", ScalarType "oid"),-> ("relowner", ScalarType "oid"), ("relam", ScalarType "oid"),-> ("relfilenode", ScalarType "oid"),-> ("reltablespace", ScalarType "oid"),-> ("relpages", ScalarType "int4"),-> ("reltuples", ScalarType "float4"),-> ("reltoastrelid", ScalarType "oid"),-> ("reltoastidxid", ScalarType "oid"),-> ("relhasindex", ScalarType "bool"),-> ("relisshared", ScalarType "bool"),-> ("relistemp", ScalarType "bool"), ("relkind", ScalarType "char"),-> ("relnatts", ScalarType "int2"), ("relchecks", ScalarType "int2"),-> ("relhasoids", ScalarType "bool"),-> ("relhaspkey", ScalarType "bool"),-> ("relhasrules", ScalarType "bool"),-> ("relhastriggers", ScalarType "bool"),-> ("relhassubclass", ScalarType "bool"),-> ("relfrozenxid", ScalarType "xid"),-> ("relacl", ArrayType (ScalarType "aclitem")),-> ("reloptions", ArrayType (ScalarType "text"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_constraint"-> [("conname", ScalarType "name"),-> ("connamespace", ScalarType "oid"), ("contype", ScalarType "char"),-> ("condeferrable", ScalarType "bool"),-> ("condeferred", ScalarType "bool"), ("conrelid", ScalarType "oid"),-> ("contypid", ScalarType "oid"), ("confrelid", ScalarType "oid"),-> ("confupdtype", ScalarType "char"),-> ("confdeltype", ScalarType "char"),-> ("confmatchtype", ScalarType "char"),-> ("conislocal", ScalarType "bool"),-> ("coninhcount", ScalarType "int4"),-> ("conkey", ArrayType (ScalarType "int2")),-> ("confkey", ArrayType (ScalarType "int2")),-> ("conpfeqop", ArrayType (ScalarType "oid")),-> ("conppeqop", ArrayType (ScalarType "oid")),-> ("conffeqop", ArrayType (ScalarType "oid")),-> ("conbin", ScalarType "text"), ("consrc", ScalarType "text")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_conversion"-> [("conname", ScalarType "name"),-> ("connamespace", ScalarType "oid"), ("conowner", ScalarType "oid"),-> ("conforencoding", ScalarType "int4"),-> ("contoencoding", ScalarType "int4"),-> ("conproc", ScalarType "regproc"),-> ("condefault", ScalarType "bool")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_database"-> [("datname", ScalarType "name"), ("datdba", ScalarType "oid"),-> ("encoding", ScalarType "int4"), ("datcollate", ScalarType "name"),-> ("datctype", ScalarType "name"),-> ("datistemplate", ScalarType "bool"),-> ("datallowconn", ScalarType "bool"),-> ("datconnlimit", ScalarType "int4"),-> ("datlastsysoid", ScalarType "oid"),-> ("datfrozenxid", ScalarType "xid"),-> ("dattablespace", ScalarType "oid"),-> ("datconfig", ArrayType (ScalarType "text")),-> ("datacl", ArrayType (ScalarType "aclitem"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_depend"-> [("classid", ScalarType "oid"), ("objid", ScalarType "oid"),-> ("objsubid", ScalarType "int4"), ("refclassid", ScalarType "oid"),-> ("refobjid", ScalarType "oid"), ("refobjsubid", ScalarType "int4"),-> ("deptype", ScalarType "char")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_description"-> [("objoid", ScalarType "oid"), ("classoid", ScalarType "oid"),-> ("objsubid", ScalarType "int4"),-> ("description", ScalarType "text")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_enum"-> [("enumtypid", ScalarType "oid"), ("enumlabel", ScalarType "name")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_foreign_data_wrapper"-> [("fdwname", ScalarType "name"), ("fdwowner", ScalarType "oid"),-> ("fdwvalidator", ScalarType "oid"),-> ("fdwacl", ArrayType (ScalarType "aclitem")),-> ("fdwoptions", ArrayType (ScalarType "text"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_foreign_server"-> [("srvname", ScalarType "name"), ("srvowner", ScalarType "oid"),-> ("srvfdw", ScalarType "oid"), ("srvtype", ScalarType "text"),-> ("srvversion", ScalarType "text"),-> ("srvacl", ArrayType (ScalarType "aclitem")),-> ("srvoptions", ArrayType (ScalarType "text"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_index"-> [("indexrelid", ScalarType "oid"), ("indrelid", ScalarType "oid"),-> ("indnatts", ScalarType "int2"),-> ("indisunique", ScalarType "bool"),-> ("indisprimary", ScalarType "bool"),-> ("indisclustered", ScalarType "bool"),-> ("indisvalid", ScalarType "bool"),-> ("indcheckxmin", ScalarType "bool"),-> ("indisready", ScalarType "bool"),-> ("indkey", ScalarType "int2vector"),-> ("indclass", ScalarType "oidvector"),-> ("indoption", ScalarType "int2vector"),-> ("indexprs", ScalarType "text"), ("indpred", ScalarType "text")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_inherits"-> [("inhrelid", ScalarType "oid"), ("inhparent", ScalarType "oid"),-> ("inhseqno", ScalarType "int4")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_language"-> [("lanname", ScalarType "name"), ("lanowner", ScalarType "oid"),-> ("lanispl", ScalarType "bool"),-> ("lanpltrusted", ScalarType "bool"),-> ("lanplcallfoid", ScalarType "oid"),-> ("lanvalidator", ScalarType "oid"),-> ("lanacl", ArrayType (ScalarType "aclitem"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_largeobject"-> [("loid", ScalarType "oid"), ("pageno", ScalarType "int4"),-> ("data", ScalarType "bytea")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_listener"-> [("relname", ScalarType "name"),-> ("listenerpid", ScalarType "int4"),-> ("notification", ScalarType "int4")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_namespace"-> [("nspname", ScalarType "name"), ("nspowner", ScalarType "oid"),-> ("nspacl", ArrayType (ScalarType "aclitem"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_opclass"-> [("opcmethod", ScalarType "oid"), ("opcname", ScalarType "name"),-> ("opcnamespace", ScalarType "oid"), ("opcowner", ScalarType "oid"),-> ("opcfamily", ScalarType "oid"), ("opcintype", ScalarType "oid"),-> ("opcdefault", ScalarType "bool"),-> ("opckeytype", ScalarType "oid")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_operator"-> [("oprname", ScalarType "name"),-> ("oprnamespace", ScalarType "oid"), ("oprowner", ScalarType "oid"),-> ("oprkind", ScalarType "char"), ("oprcanmerge", ScalarType "bool"),-> ("oprcanhash", ScalarType "bool"), ("oprleft", ScalarType "oid"),-> ("oprright", ScalarType "oid"), ("oprresult", ScalarType "oid"),-> ("oprcom", ScalarType "oid"), ("oprnegate", ScalarType "oid"),-> ("oprcode", ScalarType "regproc"),-> ("oprrest", ScalarType "regproc"),-> ("oprjoin", ScalarType "regproc")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_opfamily"-> [("opfmethod", ScalarType "oid"), ("opfname", ScalarType "name"),-> ("opfnamespace", ScalarType "oid"), ("opfowner", ScalarType "oid")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_pltemplate"-> [("tmplname", ScalarType "name"),-> ("tmpltrusted", ScalarType "bool"),-> ("tmpldbacreate", ScalarType "bool"),-> ("tmplhandler", ScalarType "text"),-> ("tmplvalidator", ScalarType "text"),-> ("tmpllibrary", ScalarType "text"),-> ("tmplacl", ArrayType (ScalarType "aclitem"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_proc"-> [("proname", ScalarType "name"),-> ("pronamespace", ScalarType "oid"), ("proowner", ScalarType "oid"),-> ("prolang", ScalarType "oid"), ("procost", ScalarType "float4"),-> ("prorows", ScalarType "float4"),-> ("provariadic", ScalarType "oid"), ("proisagg", ScalarType "bool"),-> ("proiswindow", ScalarType "bool"),-> ("prosecdef", ScalarType "bool"),-> ("proisstrict", ScalarType "bool"),-> ("proretset", ScalarType "bool"),-> ("provolatile", ScalarType "char"),-> ("pronargs", ScalarType "int2"),-> ("pronargdefaults", ScalarType "int2"),-> ("prorettype", ScalarType "oid"),-> ("proargtypes", ScalarType "oidvector"),-> ("proallargtypes", ArrayType (ScalarType "oid")),-> ("proargmodes", ArrayType (ScalarType "char")),-> ("proargnames", ArrayType (ScalarType "text")),-> ("proargdefaults", ScalarType "text"),-> ("prosrc", ScalarType "text"), ("probin", ScalarType "bytea"),-> ("proconfig", ArrayType (ScalarType "text")),-> ("proacl", ArrayType (ScalarType "aclitem"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_rewrite"-> [("rulename", ScalarType "name"), ("ev_class", ScalarType "oid"),-> ("ev_attr", ScalarType "int2"), ("ev_type", ScalarType "char"),-> ("ev_enabled", ScalarType "char"),-> ("is_instead", ScalarType "bool"), ("ev_qual", ScalarType "text"),-> ("ev_action", ScalarType "text")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_shdepend"-> [("dbid", ScalarType "oid"), ("classid", ScalarType "oid"),-> ("objid", ScalarType "oid"), ("objsubid", ScalarType "int4"),-> ("refclassid", ScalarType "oid"), ("refobjid", ScalarType "oid"),-> ("deptype", ScalarType "char")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_shdescription"-> [("objoid", ScalarType "oid"), ("classoid", ScalarType "oid"),-> ("description", ScalarType "text")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_statistic"-> [("starelid", ScalarType "oid"), ("staattnum", ScalarType "int2"),-> ("stanullfrac", ScalarType "float4"),-> ("stawidth", ScalarType "int4"),-> ("stadistinct", ScalarType "float4"),-> ("stakind1", ScalarType "int2"), ("stakind2", ScalarType "int2"),-> ("stakind3", ScalarType "int2"), ("stakind4", ScalarType "int2"),-> ("staop1", ScalarType "oid"), ("staop2", ScalarType "oid"),-> ("staop3", ScalarType "oid"), ("staop4", ScalarType "oid"),-> ("stanumbers1", ArrayType (ScalarType "float4")),-> ("stanumbers2", ArrayType (ScalarType "float4")),-> ("stanumbers3", ArrayType (ScalarType "float4")),-> ("stanumbers4", ArrayType (ScalarType "float4")),-> ("stavalues1", Pseudo AnyArray), ("stavalues2", Pseudo AnyArray),-> ("stavalues3", Pseudo AnyArray), ("stavalues4", Pseudo AnyArray)]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_tablespace"-> [("spcname", ScalarType "name"), ("spcowner", ScalarType "oid"),-> ("spclocation", ScalarType "text"),-> ("spcacl", ArrayType (ScalarType "aclitem"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_trigger"-> [("tgrelid", ScalarType "oid"), ("tgname", ScalarType "name"),-> ("tgfoid", ScalarType "oid"), ("tgtype", ScalarType "int2"),-> ("tgenabled", ScalarType "char"),-> ("tgisconstraint", ScalarType "bool"),-> ("tgconstrname", ScalarType "name"),-> ("tgconstrrelid", ScalarType "oid"),-> ("tgconstraint", ScalarType "oid"),-> ("tgdeferrable", ScalarType "bool"),-> ("tginitdeferred", ScalarType "bool"),-> ("tgnargs", ScalarType "int2"),-> ("tgattr", ScalarType "int2vector"),-> ("tgargs", ScalarType "bytea")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_ts_config"-> [("cfgname", ScalarType "name"),-> ("cfgnamespace", ScalarType "oid"), ("cfgowner", ScalarType "oid"),-> ("cfgparser", ScalarType "oid")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_ts_config_map"-> [("mapcfg", ScalarType "oid"), ("maptokentype", ScalarType "int4"),-> ("mapseqno", ScalarType "int4"), ("mapdict", ScalarType "oid")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "pg_ts_dict"-> [("dictname", ScalarType "name"),-> ("dictnamespace", ScalarType "oid"),-> ("dictowner", ScalarType "oid"),-> ("dicttemplate", ScalarType "oid"),-> ("dictinitoption", ScalarType "text")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_ts_parser"-> [("prsname", ScalarType "name"),-> ("prsnamespace", ScalarType "oid"),-> ("prsstart", ScalarType "regproc"),-> ("prstoken", ScalarType "regproc"),-> ("prsend", ScalarType "regproc"),-> ("prsheadline", ScalarType "regproc"),-> ("prslextype", ScalarType "regproc")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_ts_template"-> [("tmplname", ScalarType "name"),-> ("tmplnamespace", ScalarType "oid"),-> ("tmplinit", ScalarType "regproc"),-> ("tmpllexize", ScalarType "regproc")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_type"-> [("typname", ScalarType "name"),-> ("typnamespace", ScalarType "oid"), ("typowner", ScalarType "oid"),-> ("typlen", ScalarType "int2"), ("typbyval", ScalarType "bool"),-> ("typtype", ScalarType "char"), ("typcategory", ScalarType "char"),-> ("typispreferred", ScalarType "bool"),-> ("typisdefined", ScalarType "bool"),-> ("typdelim", ScalarType "char"), ("typrelid", ScalarType "oid"),-> ("typelem", ScalarType "oid"), ("typarray", ScalarType "oid"),-> ("typinput", ScalarType "regproc"),-> ("typoutput", ScalarType "regproc"),-> ("typreceive", ScalarType "regproc"),-> ("typsend", ScalarType "regproc"),-> ("typmodin", ScalarType "regproc"),-> ("typmodout", ScalarType "regproc"),-> ("typanalyze", ScalarType "regproc"),-> ("typalign", ScalarType "char"), ("typstorage", ScalarType "char"),-> ("typnotnull", ScalarType "bool"),-> ("typbasetype", ScalarType "oid"),-> ("typtypmod", ScalarType "int4"), ("typndims", ScalarType "int4"),-> ("typdefaultbin", ScalarType "text"),-> ("typdefault", ScalarType "text")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "pg_user_mapping"-> [("umuser", ScalarType "oid"), ("umserver", ScalarType "oid"),-> ("umoptions", ArrayType (ScalarType "text"))]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),-> ("ctid", ScalarType "tid")],-> CatCreateTable "information_schema.sql_features"-> [("feature_id", DomainType "information_schema.character_data"),-> ("feature_name", DomainType "information_schema.character_data"),-> ("sub_feature_id", DomainType "information_schema.character_data"),-> ("sub_feature_name",-> DomainType "information_schema.character_data"),-> ("is_supported", DomainType "information_schema.character_data"),-> ("is_verified_by", DomainType "information_schema.character_data"),-> ("comments", DomainType "information_schema.character_data")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "information_schema.sql_implementation_info"-> [("implementation_info_id",-> DomainType "information_schema.character_data"),-> ("implementation_info_name",-> DomainType "information_schema.character_data"),-> ("integer_value", DomainType "information_schema.cardinal_number"),-> ("character_value",-> DomainType "information_schema.character_data"),-> ("comments", DomainType "information_schema.character_data")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "information_schema.sql_languages"-> [("sql_language_source",-> DomainType "information_schema.character_data"),-> ("sql_language_year",-> DomainType "information_schema.character_data"),-> ("sql_language_conformance",-> DomainType "information_schema.character_data"),-> ("sql_language_integrity",-> DomainType "information_schema.character_data"),-> ("sql_language_implementation",-> DomainType "information_schema.character_data"),-> ("sql_language_binding_style",-> DomainType "information_schema.character_data"),-> ("sql_language_programming_language",-> DomainType "information_schema.character_data")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "information_schema.sql_packages"-> [("feature_id", DomainType "information_schema.character_data"),-> ("feature_name", DomainType "information_schema.character_data"),-> ("is_supported", DomainType "information_schema.character_data"),-> ("is_verified_by", DomainType "information_schema.character_data"),-> ("comments", DomainType "information_schema.character_data")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "information_schema.sql_parts"-> [("feature_id", DomainType "information_schema.character_data"),-> ("feature_name", DomainType "information_schema.character_data"),-> ("is_supported", DomainType "information_schema.character_data"),-> ("is_verified_by", DomainType "information_schema.character_data"),-> ("comments", DomainType "information_schema.character_data")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "information_schema.sql_sizing"-> [("sizing_id", DomainType "information_schema.cardinal_number"),-> ("sizing_name", DomainType "information_schema.character_data"),-> ("supported_value",-> DomainType "information_schema.cardinal_number"),-> ("comments", DomainType "information_schema.character_data")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateTable "information_schema.sql_sizing_profiles"-> [("sizing_id", DomainType "information_schema.cardinal_number"),-> ("sizing_name", DomainType "information_schema.character_data"),-> ("profile_id", DomainType "information_schema.character_data"),-> ("required_value",-> DomainType "information_schema.cardinal_number"),-> ("comments", DomainType "information_schema.character_data")]-> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),-> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),-> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],-> CatCreateView "information_schema._pg_foreign_data_wrappers"-> [("oid", ScalarType "oid"), ("fdwowner", ScalarType "oid"),-> ("fdwoptions", ArrayType (ScalarType "text")),-> ("foreign_data_wrapper_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_data_wrapper_name",-> DomainType "information_schema.sql_identifier"),-> ("authorization_identifier",-> DomainType "information_schema.sql_identifier"),-> ("foreign_data_wrapper_language",-> DomainType "information_schema.character_data")],-> CatCreateView "information_schema._pg_foreign_servers"-> [("oid", ScalarType "oid"),-> ("srvoptions", ArrayType (ScalarType "text")),-> ("foreign_server_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_name",-> DomainType "information_schema.sql_identifier"),-> ("foreign_data_wrapper_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_data_wrapper_name",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_type",-> DomainType "information_schema.character_data"),-> ("foreign_server_version",-> DomainType "information_schema.character_data"),-> ("authorization_identifier",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema._pg_user_mappings"-> [("oid", ScalarType "oid"),-> ("umoptions", ArrayType (ScalarType "text")),-> ("umuser", ScalarType "oid"),-> ("authorization_identifier",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_name",-> DomainType "information_schema.sql_identifier"),-> ("srvowner", DomainType "information_schema.sql_identifier")],-> CatCreateView-> "information_schema.administrable_role_authorizations"-> [("grantee", DomainType "information_schema.sql_identifier"),-> ("role_name", DomainType "information_schema.sql_identifier"),-> ("is_grantable", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.applicable_roles"-> [("grantee", DomainType "information_schema.sql_identifier"),-> ("role_name", DomainType "information_schema.sql_identifier"),-> ("is_grantable", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.attributes"-> [("udt_catalog", DomainType "information_schema.sql_identifier"),-> ("udt_schema", DomainType "information_schema.sql_identifier"),-> ("udt_name", DomainType "information_schema.sql_identifier"),-> ("attribute_name", DomainType "information_schema.sql_identifier"),-> ("ordinal_position",-> DomainType "information_schema.cardinal_number"),-> ("attribute_default",-> DomainType "information_schema.character_data"),-> ("is_nullable", DomainType "information_schema.character_data"),-> ("data_type", DomainType "information_schema.character_data"),-> ("character_maximum_length",-> DomainType "information_schema.cardinal_number"),-> ("character_octet_length",-> DomainType "information_schema.cardinal_number"),-> ("character_set_catalog",-> DomainType "information_schema.sql_identifier"),-> ("character_set_schema",-> DomainType "information_schema.sql_identifier"),-> ("character_set_name",-> DomainType "information_schema.sql_identifier"),-> ("collation_catalog",-> DomainType "information_schema.sql_identifier"),-> ("collation_schema",-> DomainType "information_schema.sql_identifier"),-> ("collation_name", DomainType "information_schema.sql_identifier"),-> ("numeric_precision",-> DomainType "information_schema.cardinal_number"),-> ("numeric_precision_radix",-> DomainType "information_schema.cardinal_number"),-> ("numeric_scale", DomainType "information_schema.cardinal_number"),-> ("datetime_precision",-> DomainType "information_schema.cardinal_number"),-> ("interval_type", DomainType "information_schema.character_data"),-> ("interval_precision",-> DomainType "information_schema.character_data"),-> ("attribute_udt_catalog",-> DomainType "information_schema.sql_identifier"),-> ("attribute_udt_schema",-> DomainType "information_schema.sql_identifier"),-> ("attribute_udt_name",-> DomainType "information_schema.sql_identifier"),-> ("scope_catalog", DomainType "information_schema.sql_identifier"),-> ("scope_schema", DomainType "information_schema.sql_identifier"),-> ("scope_name", DomainType "information_schema.sql_identifier"),-> ("maximum_cardinality",-> DomainType "information_schema.cardinal_number"),-> ("dtd_identifier", DomainType "information_schema.sql_identifier"),-> ("is_derived_reference_attribute",-> DomainType "information_schema.character_data")],-> CatCreateView "information_schema.check_constraint_routine_usage"-> [("constraint_catalog",-> DomainType "information_schema.sql_identifier"),-> ("constraint_schema",-> DomainType "information_schema.sql_identifier"),-> ("constraint_name",-> DomainType "information_schema.sql_identifier"),-> ("specific_catalog",-> DomainType "information_schema.sql_identifier"),-> ("specific_schema",-> DomainType "information_schema.sql_identifier"),-> ("specific_name", DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.check_constraints"-> [("constraint_catalog",-> DomainType "information_schema.sql_identifier"),-> ("constraint_schema",-> DomainType "information_schema.sql_identifier"),-> ("constraint_name",-> DomainType "information_schema.sql_identifier"),-> ("check_clause", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.column_domain_usage"-> [("domain_catalog",-> DomainType "information_schema.sql_identifier"),-> ("domain_schema", DomainType "information_schema.sql_identifier"),-> ("domain_name", DomainType "information_schema.sql_identifier"),-> ("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("column_name", DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.column_privileges"-> [("grantor", DomainType "information_schema.sql_identifier"),-> ("grantee", DomainType "information_schema.sql_identifier"),-> ("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("column_name", DomainType "information_schema.sql_identifier"),-> ("privilege_type", DomainType "information_schema.character_data"),-> ("is_grantable", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.column_udt_usage"-> [("udt_catalog", DomainType "information_schema.sql_identifier"),-> ("udt_schema", DomainType "information_schema.sql_identifier"),-> ("udt_name", DomainType "information_schema.sql_identifier"),-> ("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("column_name", DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.columns"-> [("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("column_name", DomainType "information_schema.sql_identifier"),-> ("ordinal_position",-> DomainType "information_schema.cardinal_number"),-> ("column_default", DomainType "information_schema.character_data"),-> ("is_nullable", DomainType "information_schema.character_data"),-> ("data_type", DomainType "information_schema.character_data"),-> ("character_maximum_length",-> DomainType "information_schema.cardinal_number"),-> ("character_octet_length",-> DomainType "information_schema.cardinal_number"),-> ("numeric_precision",-> DomainType "information_schema.cardinal_number"),-> ("numeric_precision_radix",-> DomainType "information_schema.cardinal_number"),-> ("numeric_scale", DomainType "information_schema.cardinal_number"),-> ("datetime_precision",-> DomainType "information_schema.cardinal_number"),-> ("interval_type", DomainType "information_schema.character_data"),-> ("interval_precision",-> DomainType "information_schema.character_data"),-> ("character_set_catalog",-> DomainType "information_schema.sql_identifier"),-> ("character_set_schema",-> DomainType "information_schema.sql_identifier"),-> ("character_set_name",-> DomainType "information_schema.sql_identifier"),-> ("collation_catalog",-> DomainType "information_schema.sql_identifier"),-> ("collation_schema",-> DomainType "information_schema.sql_identifier"),-> ("collation_name", DomainType "information_schema.sql_identifier"),-> ("domain_catalog", DomainType "information_schema.sql_identifier"),-> ("domain_schema", DomainType "information_schema.sql_identifier"),-> ("domain_name", DomainType "information_schema.sql_identifier"),-> ("udt_catalog", DomainType "information_schema.sql_identifier"),-> ("udt_schema", DomainType "information_schema.sql_identifier"),-> ("udt_name", DomainType "information_schema.sql_identifier"),-> ("scope_catalog", DomainType "information_schema.sql_identifier"),-> ("scope_schema", DomainType "information_schema.sql_identifier"),-> ("scope_name", DomainType "information_schema.sql_identifier"),-> ("maximum_cardinality",-> DomainType "information_schema.cardinal_number"),-> ("dtd_identifier", DomainType "information_schema.sql_identifier"),-> ("is_self_referencing",-> DomainType "information_schema.character_data"),-> ("is_identity", DomainType "information_schema.character_data"),-> ("identity_generation",-> DomainType "information_schema.character_data"),-> ("identity_start", DomainType "information_schema.character_data"),-> ("identity_increment",-> DomainType "information_schema.character_data"),-> ("identity_maximum",-> DomainType "information_schema.character_data"),-> ("identity_minimum",-> DomainType "information_schema.character_data"),-> ("identity_cycle", DomainType "information_schema.character_data"),-> ("is_generated", DomainType "information_schema.character_data"),-> ("generation_expression",-> DomainType "information_schema.character_data"),-> ("is_updatable", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.constraint_column_usage"-> [("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("column_name", DomainType "information_schema.sql_identifier"),-> ("constraint_catalog",-> DomainType "information_schema.sql_identifier"),-> ("constraint_schema",-> DomainType "information_schema.sql_identifier"),-> ("constraint_name",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.constraint_table_usage"-> [("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("constraint_catalog",-> DomainType "information_schema.sql_identifier"),-> ("constraint_schema",-> DomainType "information_schema.sql_identifier"),-> ("constraint_name",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.data_type_privileges"-> [("object_catalog",-> DomainType "information_schema.sql_identifier"),-> ("object_schema", DomainType "information_schema.sql_identifier"),-> ("object_name", DomainType "information_schema.sql_identifier"),-> ("object_type", DomainType "information_schema.character_data"),-> ("dtd_identifier",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.domain_constraints"-> [("constraint_catalog",-> DomainType "information_schema.sql_identifier"),-> ("constraint_schema",-> DomainType "information_schema.sql_identifier"),-> ("constraint_name",-> DomainType "information_schema.sql_identifier"),-> ("domain_catalog", DomainType "information_schema.sql_identifier"),-> ("domain_schema", DomainType "information_schema.sql_identifier"),-> ("domain_name", DomainType "information_schema.sql_identifier"),-> ("is_deferrable", DomainType "information_schema.character_data"),-> ("initially_deferred",-> DomainType "information_schema.character_data")],-> CatCreateView "information_schema.domain_udt_usage"-> [("udt_catalog", DomainType "information_schema.sql_identifier"),-> ("udt_schema", DomainType "information_schema.sql_identifier"),-> ("udt_name", DomainType "information_schema.sql_identifier"),-> ("domain_catalog", DomainType "information_schema.sql_identifier"),-> ("domain_schema", DomainType "information_schema.sql_identifier"),-> ("domain_name", DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.domains"-> [("domain_catalog",-> DomainType "information_schema.sql_identifier"),-> ("domain_schema", DomainType "information_schema.sql_identifier"),-> ("domain_name", DomainType "information_schema.sql_identifier"),-> ("data_type", DomainType "information_schema.character_data"),-> ("character_maximum_length",-> DomainType "information_schema.cardinal_number"),-> ("character_octet_length",-> DomainType "information_schema.cardinal_number"),-> ("character_set_catalog",-> DomainType "information_schema.sql_identifier"),-> ("character_set_schema",-> DomainType "information_schema.sql_identifier"),-> ("character_set_name",-> DomainType "information_schema.sql_identifier"),-> ("collation_catalog",-> DomainType "information_schema.sql_identifier"),-> ("collation_schema",-> DomainType "information_schema.sql_identifier"),-> ("collation_name", DomainType "information_schema.sql_identifier"),-> ("numeric_precision",-> DomainType "information_schema.cardinal_number"),-> ("numeric_precision_radix",-> DomainType "information_schema.cardinal_number"),-> ("numeric_scale", DomainType "information_schema.cardinal_number"),-> ("datetime_precision",-> DomainType "information_schema.cardinal_number"),-> ("interval_type", DomainType "information_schema.character_data"),-> ("interval_precision",-> DomainType "information_schema.character_data"),-> ("domain_default", DomainType "information_schema.character_data"),-> ("udt_catalog", DomainType "information_schema.sql_identifier"),-> ("udt_schema", DomainType "information_schema.sql_identifier"),-> ("udt_name", DomainType "information_schema.sql_identifier"),-> ("scope_catalog", DomainType "information_schema.sql_identifier"),-> ("scope_schema", DomainType "information_schema.sql_identifier"),-> ("scope_name", DomainType "information_schema.sql_identifier"),-> ("maximum_cardinality",-> DomainType "information_schema.cardinal_number"),-> ("dtd_identifier",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.element_types"-> [("object_catalog",-> DomainType "information_schema.sql_identifier"),-> ("object_schema", DomainType "information_schema.sql_identifier"),-> ("object_name", DomainType "information_schema.sql_identifier"),-> ("object_type", DomainType "information_schema.character_data"),-> ("collection_type_identifier",-> DomainType "information_schema.sql_identifier"),-> ("data_type", DomainType "information_schema.character_data"),-> ("character_maximum_length",-> DomainType "information_schema.cardinal_number"),-> ("character_octet_length",-> DomainType "information_schema.cardinal_number"),-> ("character_set_catalog",-> DomainType "information_schema.sql_identifier"),-> ("character_set_schema",-> DomainType "information_schema.sql_identifier"),-> ("character_set_name",-> DomainType "information_schema.sql_identifier"),-> ("collation_catalog",-> DomainType "information_schema.sql_identifier"),-> ("collation_schema",-> DomainType "information_schema.sql_identifier"),-> ("collation_name", DomainType "information_schema.sql_identifier"),-> ("numeric_precision",-> DomainType "information_schema.cardinal_number"),-> ("numeric_precision_radix",-> DomainType "information_schema.cardinal_number"),-> ("numeric_scale", DomainType "information_schema.cardinal_number"),-> ("datetime_precision",-> DomainType "information_schema.cardinal_number"),-> ("interval_type", DomainType "information_schema.character_data"),-> ("interval_precision",-> DomainType "information_schema.character_data"),-> ("domain_default", DomainType "information_schema.character_data"),-> ("udt_catalog", DomainType "information_schema.sql_identifier"),-> ("udt_schema", DomainType "information_schema.sql_identifier"),-> ("udt_name", DomainType "information_schema.sql_identifier"),-> ("scope_catalog", DomainType "information_schema.sql_identifier"),-> ("scope_schema", DomainType "information_schema.sql_identifier"),-> ("scope_name", DomainType "information_schema.sql_identifier"),-> ("maximum_cardinality",-> DomainType "information_schema.cardinal_number"),-> ("dtd_identifier",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.enabled_roles"-> [("role_name", DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.foreign_data_wrapper_options"-> [("foreign_data_wrapper_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_data_wrapper_name",-> DomainType "information_schema.sql_identifier"),-> ("option_name", DomainType "information_schema.sql_identifier"),-> ("option_value", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.foreign_data_wrappers"-> [("foreign_data_wrapper_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_data_wrapper_name",-> DomainType "information_schema.sql_identifier"),-> ("authorization_identifier",-> DomainType "information_schema.sql_identifier"),-> ("library_name", DomainType "information_schema.character_data"),-> ("foreign_data_wrapper_language",-> DomainType "information_schema.character_data")],-> CatCreateView "information_schema.foreign_server_options"-> [("foreign_server_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_name",-> DomainType "information_schema.sql_identifier"),-> ("option_name", DomainType "information_schema.sql_identifier"),-> ("option_value", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.foreign_servers"-> [("foreign_server_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_name",-> DomainType "information_schema.sql_identifier"),-> ("foreign_data_wrapper_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_data_wrapper_name",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_type",-> DomainType "information_schema.character_data"),-> ("foreign_server_version",-> DomainType "information_schema.character_data"),-> ("authorization_identifier",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.information_schema_catalog_name"-> [("catalog_name", DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.key_column_usage"-> [("constraint_catalog",-> DomainType "information_schema.sql_identifier"),-> ("constraint_schema",-> DomainType "information_schema.sql_identifier"),-> ("constraint_name",-> DomainType "information_schema.sql_identifier"),-> ("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("column_name", DomainType "information_schema.sql_identifier"),-> ("ordinal_position",-> DomainType "information_schema.cardinal_number"),-> ("position_in_unique_constraint",-> DomainType "information_schema.cardinal_number")],-> CatCreateView "information_schema.parameters"-> [("specific_catalog",-> DomainType "information_schema.sql_identifier"),-> ("specific_schema",-> DomainType "information_schema.sql_identifier"),-> ("specific_name", DomainType "information_schema.sql_identifier"),-> ("ordinal_position",-> DomainType "information_schema.cardinal_number"),-> ("parameter_mode", DomainType "information_schema.character_data"),-> ("is_result", DomainType "information_schema.character_data"),-> ("as_locator", DomainType "information_schema.character_data"),-> ("parameter_name", DomainType "information_schema.sql_identifier"),-> ("data_type", DomainType "information_schema.character_data"),-> ("character_maximum_length",-> DomainType "information_schema.cardinal_number"),-> ("character_octet_length",-> DomainType "information_schema.cardinal_number"),-> ("character_set_catalog",-> DomainType "information_schema.sql_identifier"),-> ("character_set_schema",-> DomainType "information_schema.sql_identifier"),-> ("character_set_name",-> DomainType "information_schema.sql_identifier"),-> ("collation_catalog",-> DomainType "information_schema.sql_identifier"),-> ("collation_schema",-> DomainType "information_schema.sql_identifier"),-> ("collation_name", DomainType "information_schema.sql_identifier"),-> ("numeric_precision",-> DomainType "information_schema.cardinal_number"),-> ("numeric_precision_radix",-> DomainType "information_schema.cardinal_number"),-> ("numeric_scale", DomainType "information_schema.cardinal_number"),-> ("datetime_precision",-> DomainType "information_schema.cardinal_number"),-> ("interval_type", DomainType "information_schema.character_data"),-> ("interval_precision",-> DomainType "information_schema.character_data"),-> ("udt_catalog", DomainType "information_schema.sql_identifier"),-> ("udt_schema", DomainType "information_schema.sql_identifier"),-> ("udt_name", DomainType "information_schema.sql_identifier"),-> ("scope_catalog", DomainType "information_schema.sql_identifier"),-> ("scope_schema", DomainType "information_schema.sql_identifier"),-> ("scope_name", DomainType "information_schema.sql_identifier"),-> ("maximum_cardinality",-> DomainType "information_schema.cardinal_number"),-> ("dtd_identifier",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "pg_cursors"-> [("name", ScalarType "text"), ("statement", ScalarType "text"),-> ("is_holdable", ScalarType "bool"),-> ("is_binary", ScalarType "bool"),-> ("is_scrollable", ScalarType "bool"),-> ("creation_time", ScalarType "timestamptz")],-> CatCreateView "pg_group"-> [("groname", ScalarType "name"), ("grosysid", ScalarType "oid"),-> ("grolist", ArrayType (ScalarType "oid"))],-> CatCreateView "pg_indexes"-> [("schemaname", ScalarType "name"),-> ("tablename", ScalarType "name"), ("indexname", ScalarType "name"),-> ("tablespace", ScalarType "name"),-> ("indexdef", ScalarType "text")],-> CatCreateView "pg_locks"-> [("locktype", ScalarType "text"), ("database", ScalarType "oid"),-> ("relation", ScalarType "oid"), ("page", ScalarType "int4"),-> ("tuple", ScalarType "int2"), ("virtualxid", ScalarType "text"),-> ("transactionid", ScalarType "xid"), ("classid", ScalarType "oid"),-> ("objid", ScalarType "oid"), ("objsubid", ScalarType "int2"),-> ("virtualtransaction", ScalarType "text"),-> ("pid", ScalarType "int4"), ("mode", ScalarType "text"),-> ("granted", ScalarType "bool")],-> CatCreateView "pg_prepared_statements"-> [("name", ScalarType "text"), ("statement", ScalarType "text"),-> ("prepare_time", ScalarType "timestamptz"),-> ("parameter_types", ArrayType (ScalarType "regtype")),-> ("from_sql", ScalarType "bool")],-> CatCreateView "pg_prepared_xacts"-> [("transaction", ScalarType "xid"), ("gid", ScalarType "text"),-> ("prepared", ScalarType "timestamptz"),-> ("owner", ScalarType "name"), ("database", ScalarType "name")],-> CatCreateView "pg_roles"-> [("rolname", ScalarType "name"), ("rolsuper", ScalarType "bool"),-> ("rolinherit", ScalarType "bool"),-> ("rolcreaterole", ScalarType "bool"),-> ("rolcreatedb", ScalarType "bool"),-> ("rolcatupdate", ScalarType "bool"),-> ("rolcanlogin", ScalarType "bool"),-> ("rolconnlimit", ScalarType "int4"),-> ("rolpassword", ScalarType "text"),-> ("rolvaliduntil", ScalarType "timestamptz"),-> ("rolconfig", ArrayType (ScalarType "text")),-> ("oid", ScalarType "oid")],-> CatCreateView "pg_rules"-> [("schemaname", ScalarType "name"),-> ("tablename", ScalarType "name"), ("rulename", ScalarType "name"),-> ("definition", ScalarType "text")],-> CatCreateView "pg_settings"-> [("name", ScalarType "text"), ("setting", ScalarType "text"),-> ("unit", ScalarType "text"), ("category", ScalarType "text"),-> ("short_desc", ScalarType "text"),-> ("extra_desc", ScalarType "text"), ("context", ScalarType "text"),-> ("vartype", ScalarType "text"), ("source", ScalarType "text"),-> ("min_val", ScalarType "text"), ("max_val", ScalarType "text"),-> ("enumvals", ArrayType (ScalarType "text")),-> ("boot_val", ScalarType "text"), ("reset_val", ScalarType "text"),-> ("sourcefile", ScalarType "text"),-> ("sourceline", ScalarType "int4")],-> CatCreateView "pg_shadow"-> [("usename", ScalarType "name"), ("usesysid", ScalarType "oid"),-> ("usecreatedb", ScalarType "bool"),-> ("usesuper", ScalarType "bool"), ("usecatupd", ScalarType "bool"),-> ("passwd", ScalarType "text"), ("valuntil", ScalarType "abstime"),-> ("useconfig", ArrayType (ScalarType "text"))],-> CatCreateView "pg_stat_activity"-> [("datid", ScalarType "oid"), ("datname", ScalarType "name"),-> ("procpid", ScalarType "int4"), ("usesysid", ScalarType "oid"),-> ("usename", ScalarType "name"),-> ("current_query", ScalarType "text"),-> ("waiting", ScalarType "bool"),-> ("xact_start", ScalarType "timestamptz"),-> ("query_start", ScalarType "timestamptz"),-> ("backend_start", ScalarType "timestamptz"),-> ("client_addr", ScalarType "inet"),-> ("client_port", ScalarType "int4")],-> CatCreateView "pg_stat_all_indexes"-> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),-> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),-> ("indexrelname", ScalarType "name"),-> ("idx_scan", ScalarType "int8"),-> ("idx_tup_read", ScalarType "int8"),-> ("idx_tup_fetch", ScalarType "int8")],-> CatCreateView "pg_stat_all_tables"-> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),-> ("relname", ScalarType "name"), ("seq_scan", ScalarType "int8"),-> ("seq_tup_read", ScalarType "int8"),-> ("idx_scan", ScalarType "int8"),-> ("idx_tup_fetch", ScalarType "int8"),-> ("n_tup_ins", ScalarType "int8"), ("n_tup_upd", ScalarType "int8"),-> ("n_tup_del", ScalarType "int8"),-> ("n_tup_hot_upd", ScalarType "int8"),-> ("n_live_tup", ScalarType "int8"),-> ("n_dead_tup", ScalarType "int8"),-> ("last_vacuum", ScalarType "timestamptz"),-> ("last_autovacuum", ScalarType "timestamptz"),-> ("last_analyze", ScalarType "timestamptz"),-> ("last_autoanalyze", ScalarType "timestamptz")],-> CatCreateView "pg_stat_bgwriter"-> [("checkpoints_timed", ScalarType "int8"),-> ("checkpoints_req", ScalarType "int8"),-> ("buffers_checkpoint", ScalarType "int8"),-> ("buffers_clean", ScalarType "int8"),-> ("maxwritten_clean", ScalarType "int8"),-> ("buffers_backend", ScalarType "int8"),-> ("buffers_alloc", ScalarType "int8")],-> CatCreateView "pg_stat_database"-> [("datid", ScalarType "oid"), ("datname", ScalarType "name"),-> ("numbackends", ScalarType "int4"),-> ("xact_commit", ScalarType "int8"),-> ("xact_rollback", ScalarType "int8"),-> ("blks_read", ScalarType "int8"), ("blks_hit", ScalarType "int8"),-> ("tup_returned", ScalarType "int8"),-> ("tup_fetched", ScalarType "int8"),-> ("tup_inserted", ScalarType "int8"),-> ("tup_updated", ScalarType "int8"),-> ("tup_deleted", ScalarType "int8")],-> CatCreateView "pg_stat_sys_indexes"-> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),-> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),-> ("indexrelname", ScalarType "name"),-> ("idx_scan", ScalarType "int8"),-> ("idx_tup_read", ScalarType "int8"),-> ("idx_tup_fetch", ScalarType "int8")],-> CatCreateView "pg_stat_sys_tables"-> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),-> ("relname", ScalarType "name"), ("seq_scan", ScalarType "int8"),-> ("seq_tup_read", ScalarType "int8"),-> ("idx_scan", ScalarType "int8"),-> ("idx_tup_fetch", ScalarType "int8"),-> ("n_tup_ins", ScalarType "int8"), ("n_tup_upd", ScalarType "int8"),-> ("n_tup_del", ScalarType "int8"),-> ("n_tup_hot_upd", ScalarType "int8"),-> ("n_live_tup", ScalarType "int8"),-> ("n_dead_tup", ScalarType "int8"),-> ("last_vacuum", ScalarType "timestamptz"),-> ("last_autovacuum", ScalarType "timestamptz"),-> ("last_analyze", ScalarType "timestamptz"),-> ("last_autoanalyze", ScalarType "timestamptz")],-> CatCreateView "pg_stat_user_functions"-> [("funcid", ScalarType "oid"), ("schemaname", ScalarType "name"),-> ("funcname", ScalarType "name"), ("calls", ScalarType "int8"),-> ("total_time", ScalarType "int8"),-> ("self_time", ScalarType "int8")],-> CatCreateView "pg_stat_user_indexes"-> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),-> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),-> ("indexrelname", ScalarType "name"),-> ("idx_scan", ScalarType "int8"),-> ("idx_tup_read", ScalarType "int8"),-> ("idx_tup_fetch", ScalarType "int8")],-> CatCreateView "pg_stat_user_tables"-> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),-> ("relname", ScalarType "name"), ("seq_scan", ScalarType "int8"),-> ("seq_tup_read", ScalarType "int8"),-> ("idx_scan", ScalarType "int8"),-> ("idx_tup_fetch", ScalarType "int8"),-> ("n_tup_ins", ScalarType "int8"), ("n_tup_upd", ScalarType "int8"),-> ("n_tup_del", ScalarType "int8"),-> ("n_tup_hot_upd", ScalarType "int8"),-> ("n_live_tup", ScalarType "int8"),-> ("n_dead_tup", ScalarType "int8"),-> ("last_vacuum", ScalarType "timestamptz"),-> ("last_autovacuum", ScalarType "timestamptz"),-> ("last_analyze", ScalarType "timestamptz"),-> ("last_autoanalyze", ScalarType "timestamptz")],-> CatCreateView "pg_statio_all_indexes"-> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),-> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),-> ("indexrelname", ScalarType "name"),-> ("idx_blks_read", ScalarType "int8"),-> ("idx_blks_hit", ScalarType "int8")],-> CatCreateView "pg_statio_all_sequences"-> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),-> ("relname", ScalarType "name"), ("blks_read", ScalarType "int8"),-> ("blks_hit", ScalarType "int8")],-> CatCreateView "pg_statio_all_tables"-> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),-> ("relname", ScalarType "name"),-> ("heap_blks_read", ScalarType "int8"),-> ("heap_blks_hit", ScalarType "int8"),-> ("idx_blks_read", ScalarType "int8"),-> ("idx_blks_hit", ScalarType "int8"),-> ("toast_blks_read", ScalarType "int8"),-> ("toast_blks_hit", ScalarType "int8"),-> ("tidx_blks_read", ScalarType "int8"),-> ("tidx_blks_hit", ScalarType "int8")],-> CatCreateView "pg_statio_sys_indexes"-> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),-> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),-> ("indexrelname", ScalarType "name"),-> ("idx_blks_read", ScalarType "int8"),-> ("idx_blks_hit", ScalarType "int8")],-> CatCreateView "pg_statio_sys_sequences"-> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),-> ("relname", ScalarType "name"), ("blks_read", ScalarType "int8"),-> ("blks_hit", ScalarType "int8")],-> CatCreateView "pg_statio_sys_tables"-> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),-> ("relname", ScalarType "name"),-> ("heap_blks_read", ScalarType "int8"),-> ("heap_blks_hit", ScalarType "int8"),-> ("idx_blks_read", ScalarType "int8"),-> ("idx_blks_hit", ScalarType "int8"),-> ("toast_blks_read", ScalarType "int8"),-> ("toast_blks_hit", ScalarType "int8"),-> ("tidx_blks_read", ScalarType "int8"),-> ("tidx_blks_hit", ScalarType "int8")],-> CatCreateView "pg_statio_user_indexes"-> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),-> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),-> ("indexrelname", ScalarType "name"),-> ("idx_blks_read", ScalarType "int8"),-> ("idx_blks_hit", ScalarType "int8")],-> CatCreateView "pg_statio_user_sequences"-> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),-> ("relname", ScalarType "name"), ("blks_read", ScalarType "int8"),-> ("blks_hit", ScalarType "int8")],-> CatCreateView "pg_statio_user_tables"-> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),-> ("relname", ScalarType "name"),-> ("heap_blks_read", ScalarType "int8"),-> ("heap_blks_hit", ScalarType "int8"),-> ("idx_blks_read", ScalarType "int8"),-> ("idx_blks_hit", ScalarType "int8"),-> ("toast_blks_read", ScalarType "int8"),-> ("toast_blks_hit", ScalarType "int8"),-> ("tidx_blks_read", ScalarType "int8"),-> ("tidx_blks_hit", ScalarType "int8")],-> CatCreateView "pg_stats"-> [("schemaname", ScalarType "name"),-> ("tablename", ScalarType "name"), ("attname", ScalarType "name"),-> ("null_frac", ScalarType "float4"),-> ("avg_width", ScalarType "int4"),-> ("n_distinct", ScalarType "float4"),-> ("most_common_vals", Pseudo AnyArray),-> ("most_common_freqs", ArrayType (ScalarType "float4")),-> ("histogram_bounds", Pseudo AnyArray),-> ("correlation", ScalarType "float4")],-> CatCreateView "pg_tables"-> [("schemaname", ScalarType "name"),-> ("tablename", ScalarType "name"),-> ("tableowner", ScalarType "name"),-> ("tablespace", ScalarType "name"),-> ("hasindexes", ScalarType "bool"), ("hasrules", ScalarType "bool"),-> ("hastriggers", ScalarType "bool")],-> CatCreateView "pg_timezone_abbrevs"-> [("abbrev", ScalarType "text"),-> ("utc_offset", ScalarType "interval"),-> ("is_dst", ScalarType "bool")],-> CatCreateView "pg_timezone_names"-> [("name", ScalarType "text"), ("abbrev", ScalarType "text"),-> ("utc_offset", ScalarType "interval"),-> ("is_dst", ScalarType "bool")],-> CatCreateView "pg_user"-> [("usename", ScalarType "name"), ("usesysid", ScalarType "oid"),-> ("usecreatedb", ScalarType "bool"),-> ("usesuper", ScalarType "bool"), ("usecatupd", ScalarType "bool"),-> ("passwd", ScalarType "text"), ("valuntil", ScalarType "abstime"),-> ("useconfig", ArrayType (ScalarType "text"))],-> CatCreateView "pg_user_mappings"-> [("umid", ScalarType "oid"), ("srvid", ScalarType "oid"),-> ("srvname", ScalarType "name"), ("umuser", ScalarType "oid"),-> ("usename", ScalarType "name"),-> ("umoptions", ArrayType (ScalarType "text"))],-> CatCreateView "pg_views"-> [("schemaname", ScalarType "name"),-> ("viewname", ScalarType "name"), ("viewowner", ScalarType "name"),-> ("definition", ScalarType "text")],-> CatCreateView "information_schema.referential_constraints"-> [("constraint_catalog",-> DomainType "information_schema.sql_identifier"),-> ("constraint_schema",-> DomainType "information_schema.sql_identifier"),-> ("constraint_name",-> DomainType "information_schema.sql_identifier"),-> ("unique_constraint_catalog",-> DomainType "information_schema.sql_identifier"),-> ("unique_constraint_schema",-> DomainType "information_schema.sql_identifier"),-> ("unique_constraint_name",-> DomainType "information_schema.sql_identifier"),-> ("match_option", DomainType "information_schema.character_data"),-> ("update_rule", DomainType "information_schema.character_data"),-> ("delete_rule", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.role_column_grants"-> [("grantor", DomainType "information_schema.sql_identifier"),-> ("grantee", DomainType "information_schema.sql_identifier"),-> ("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("column_name", DomainType "information_schema.sql_identifier"),-> ("privilege_type", DomainType "information_schema.character_data"),-> ("is_grantable", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.role_routine_grants"-> [("grantor", DomainType "information_schema.sql_identifier"),-> ("grantee", DomainType "information_schema.sql_identifier"),-> ("specific_catalog",-> DomainType "information_schema.sql_identifier"),-> ("specific_schema",-> DomainType "information_schema.sql_identifier"),-> ("specific_name", DomainType "information_schema.sql_identifier"),-> ("routine_catalog",-> DomainType "information_schema.sql_identifier"),-> ("routine_schema", DomainType "information_schema.sql_identifier"),-> ("routine_name", DomainType "information_schema.sql_identifier"),-> ("privilege_type", DomainType "information_schema.character_data"),-> ("is_grantable", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.role_table_grants"-> [("grantor", DomainType "information_schema.sql_identifier"),-> ("grantee", DomainType "information_schema.sql_identifier"),-> ("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("privilege_type", DomainType "information_schema.character_data"),-> ("is_grantable", DomainType "information_schema.character_data"),-> ("with_hierarchy",-> DomainType "information_schema.character_data")],-> CatCreateView "information_schema.role_usage_grants"-> [("grantor", DomainType "information_schema.sql_identifier"),-> ("grantee", DomainType "information_schema.sql_identifier"),-> ("object_catalog", DomainType "information_schema.sql_identifier"),-> ("object_schema", DomainType "information_schema.sql_identifier"),-> ("object_name", DomainType "information_schema.sql_identifier"),-> ("object_type", DomainType "information_schema.character_data"),-> ("privilege_type", DomainType "information_schema.character_data"),-> ("is_grantable", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.routine_privileges"-> [("grantor", DomainType "information_schema.sql_identifier"),-> ("grantee", DomainType "information_schema.sql_identifier"),-> ("specific_catalog",-> DomainType "information_schema.sql_identifier"),-> ("specific_schema",-> DomainType "information_schema.sql_identifier"),-> ("specific_name", DomainType "information_schema.sql_identifier"),-> ("routine_catalog",-> DomainType "information_schema.sql_identifier"),-> ("routine_schema", DomainType "information_schema.sql_identifier"),-> ("routine_name", DomainType "information_schema.sql_identifier"),-> ("privilege_type", DomainType "information_schema.character_data"),-> ("is_grantable", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.routines"-> [("specific_catalog",-> DomainType "information_schema.sql_identifier"),-> ("specific_schema",-> DomainType "information_schema.sql_identifier"),-> ("specific_name", DomainType "information_schema.sql_identifier"),-> ("routine_catalog",-> DomainType "information_schema.sql_identifier"),-> ("routine_schema", DomainType "information_schema.sql_identifier"),-> ("routine_name", DomainType "information_schema.sql_identifier"),-> ("routine_type", DomainType "information_schema.character_data"),-> ("module_catalog", DomainType "information_schema.sql_identifier"),-> ("module_schema", DomainType "information_schema.sql_identifier"),-> ("module_name", DomainType "information_schema.sql_identifier"),-> ("udt_catalog", DomainType "information_schema.sql_identifier"),-> ("udt_schema", DomainType "information_schema.sql_identifier"),-> ("udt_name", DomainType "information_schema.sql_identifier"),-> ("data_type", DomainType "information_schema.character_data"),-> ("character_maximum_length",-> DomainType "information_schema.cardinal_number"),-> ("character_octet_length",-> DomainType "information_schema.cardinal_number"),-> ("character_set_catalog",-> DomainType "information_schema.sql_identifier"),-> ("character_set_schema",-> DomainType "information_schema.sql_identifier"),-> ("character_set_name",-> DomainType "information_schema.sql_identifier"),-> ("collation_catalog",-> DomainType "information_schema.sql_identifier"),-> ("collation_schema",-> DomainType "information_schema.sql_identifier"),-> ("collation_name", DomainType "information_schema.sql_identifier"),-> ("numeric_precision",-> DomainType "information_schema.cardinal_number"),-> ("numeric_precision_radix",-> DomainType "information_schema.cardinal_number"),-> ("numeric_scale", DomainType "information_schema.cardinal_number"),-> ("datetime_precision",-> DomainType "information_schema.cardinal_number"),-> ("interval_type", DomainType "information_schema.character_data"),-> ("interval_precision",-> DomainType "information_schema.character_data"),-> ("type_udt_catalog",-> DomainType "information_schema.sql_identifier"),-> ("type_udt_schema",-> DomainType "information_schema.sql_identifier"),-> ("type_udt_name", DomainType "information_schema.sql_identifier"),-> ("scope_catalog", DomainType "information_schema.sql_identifier"),-> ("scope_schema", DomainType "information_schema.sql_identifier"),-> ("scope_name", DomainType "information_schema.sql_identifier"),-> ("maximum_cardinality",-> DomainType "information_schema.cardinal_number"),-> ("dtd_identifier", DomainType "information_schema.sql_identifier"),-> ("routine_body", DomainType "information_schema.character_data"),-> ("routine_definition",-> DomainType "information_schema.character_data"),-> ("external_name", DomainType "information_schema.character_data"),-> ("external_language",-> DomainType "information_schema.character_data"),-> ("parameter_style",-> DomainType "information_schema.character_data"),-> ("is_deterministic",-> DomainType "information_schema.character_data"),-> ("sql_data_access",-> DomainType "information_schema.character_data"),-> ("is_null_call", DomainType "information_schema.character_data"),-> ("sql_path", DomainType "information_schema.character_data"),-> ("schema_level_routine",-> DomainType "information_schema.character_data"),-> ("max_dynamic_result_sets",-> DomainType "information_schema.cardinal_number"),-> ("is_user_defined_cast",-> DomainType "information_schema.character_data"),-> ("is_implicitly_invocable",-> DomainType "information_schema.character_data"),-> ("security_type", DomainType "information_schema.character_data"),-> ("to_sql_specific_catalog",-> DomainType "information_schema.sql_identifier"),-> ("to_sql_specific_schema",-> DomainType "information_schema.sql_identifier"),-> ("to_sql_specific_name",-> DomainType "information_schema.sql_identifier"),-> ("as_locator", DomainType "information_schema.character_data"),-> ("created", DomainType "information_schema.time_stamp"),-> ("last_altered", DomainType "information_schema.time_stamp"),-> ("new_savepoint_level",-> DomainType "information_schema.character_data"),-> ("is_udt_dependent",-> DomainType "information_schema.character_data"),-> ("result_cast_from_data_type",-> DomainType "information_schema.character_data"),-> ("result_cast_as_locator",-> DomainType "information_schema.character_data"),-> ("result_cast_char_max_length",-> DomainType "information_schema.cardinal_number"),-> ("result_cast_char_octet_length",-> DomainType "information_schema.cardinal_number"),-> ("result_cast_char_set_catalog",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_char_set_schema",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_character_set_name",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_collation_catalog",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_collation_schema",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_collation_name",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_numeric_precision",-> DomainType "information_schema.cardinal_number"),-> ("result_cast_numeric_precision_radix",-> DomainType "information_schema.cardinal_number"),-> ("result_cast_numeric_scale",-> DomainType "information_schema.cardinal_number"),-> ("result_cast_datetime_precision",-> DomainType "information_schema.cardinal_number"),-> ("result_cast_interval_type",-> DomainType "information_schema.character_data"),-> ("result_cast_interval_precision",-> DomainType "information_schema.character_data"),-> ("result_cast_type_udt_catalog",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_type_udt_schema",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_type_udt_name",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_scope_catalog",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_scope_schema",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_scope_name",-> DomainType "information_schema.sql_identifier"),-> ("result_cast_maximum_cardinality",-> DomainType "information_schema.cardinal_number"),-> ("result_cast_dtd_identifier",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.schemata"-> [("catalog_name", DomainType "information_schema.sql_identifier"),-> ("schema_name", DomainType "information_schema.sql_identifier"),-> ("schema_owner", DomainType "information_schema.sql_identifier"),-> ("default_character_set_catalog",-> DomainType "information_schema.sql_identifier"),-> ("default_character_set_schema",-> DomainType "information_schema.sql_identifier"),-> ("default_character_set_name",-> DomainType "information_schema.sql_identifier"),-> ("sql_path", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.sequences"-> [("sequence_catalog",-> DomainType "information_schema.sql_identifier"),-> ("sequence_schema",-> DomainType "information_schema.sql_identifier"),-> ("sequence_name", DomainType "information_schema.sql_identifier"),-> ("data_type", DomainType "information_schema.character_data"),-> ("numeric_precision",-> DomainType "information_schema.cardinal_number"),-> ("numeric_precision_radix",-> DomainType "information_schema.cardinal_number"),-> ("numeric_scale", DomainType "information_schema.cardinal_number"),-> ("maximum_value", DomainType "information_schema.cardinal_number"),-> ("minimum_value", DomainType "information_schema.cardinal_number"),-> ("increment", DomainType "information_schema.cardinal_number"),-> ("cycle_option", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.table_constraints"-> [("constraint_catalog",-> DomainType "information_schema.sql_identifier"),-> ("constraint_schema",-> DomainType "information_schema.sql_identifier"),-> ("constraint_name",-> DomainType "information_schema.sql_identifier"),-> ("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("constraint_type",-> DomainType "information_schema.character_data"),-> ("is_deferrable", DomainType "information_schema.character_data"),-> ("initially_deferred",-> DomainType "information_schema.character_data")],-> CatCreateView "information_schema.table_privileges"-> [("grantor", DomainType "information_schema.sql_identifier"),-> ("grantee", DomainType "information_schema.sql_identifier"),-> ("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("privilege_type", DomainType "information_schema.character_data"),-> ("is_grantable", DomainType "information_schema.character_data"),-> ("with_hierarchy",-> DomainType "information_schema.character_data")],-> CatCreateView "information_schema.tables"-> [("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("table_type", DomainType "information_schema.character_data"),-> ("self_referencing_column_name",-> DomainType "information_schema.sql_identifier"),-> ("reference_generation",-> DomainType "information_schema.character_data"),-> ("user_defined_type_catalog",-> DomainType "information_schema.sql_identifier"),-> ("user_defined_type_schema",-> DomainType "information_schema.sql_identifier"),-> ("user_defined_type_name",-> DomainType "information_schema.sql_identifier"),-> ("is_insertable_into",-> DomainType "information_schema.character_data"),-> ("is_typed", DomainType "information_schema.character_data"),-> ("commit_action", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.triggered_update_columns"-> [("trigger_catalog",-> DomainType "information_schema.sql_identifier"),-> ("trigger_schema", DomainType "information_schema.sql_identifier"),-> ("trigger_name", DomainType "information_schema.sql_identifier"),-> ("event_object_catalog",-> DomainType "information_schema.sql_identifier"),-> ("event_object_schema",-> DomainType "information_schema.sql_identifier"),-> ("event_object_table",-> DomainType "information_schema.sql_identifier"),-> ("event_object_column",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.triggers"-> [("trigger_catalog",-> DomainType "information_schema.sql_identifier"),-> ("trigger_schema", DomainType "information_schema.sql_identifier"),-> ("trigger_name", DomainType "information_schema.sql_identifier"),-> ("event_manipulation",-> DomainType "information_schema.character_data"),-> ("event_object_catalog",-> DomainType "information_schema.sql_identifier"),-> ("event_object_schema",-> DomainType "information_schema.sql_identifier"),-> ("event_object_table",-> DomainType "information_schema.sql_identifier"),-> ("action_order", DomainType "information_schema.cardinal_number"),-> ("action_condition",-> DomainType "information_schema.character_data"),-> ("action_statement",-> DomainType "information_schema.character_data"),-> ("action_orientation",-> DomainType "information_schema.character_data"),-> ("condition_timing",-> DomainType "information_schema.character_data"),-> ("condition_reference_old_table",-> DomainType "information_schema.sql_identifier"),-> ("condition_reference_new_table",-> DomainType "information_schema.sql_identifier"),-> ("condition_reference_old_row",-> DomainType "information_schema.sql_identifier"),-> ("condition_reference_new_row",-> DomainType "information_schema.sql_identifier"),-> ("created", DomainType "information_schema.time_stamp")],-> CatCreateView "information_schema.usage_privileges"-> [("grantor", DomainType "information_schema.sql_identifier"),-> ("grantee", DomainType "information_schema.sql_identifier"),-> ("object_catalog", DomainType "information_schema.sql_identifier"),-> ("object_schema", DomainType "information_schema.sql_identifier"),-> ("object_name", DomainType "information_schema.sql_identifier"),-> ("object_type", DomainType "information_schema.character_data"),-> ("privilege_type", DomainType "information_schema.character_data"),-> ("is_grantable", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.user_mapping_options"-> [("authorization_identifier",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_name",-> DomainType "information_schema.sql_identifier"),-> ("option_name", DomainType "information_schema.sql_identifier"),-> ("option_value", DomainType "information_schema.character_data")],-> CatCreateView "information_schema.user_mappings"-> [("authorization_identifier",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_catalog",-> DomainType "information_schema.sql_identifier"),-> ("foreign_server_name",-> DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.view_column_usage"-> [("view_catalog", DomainType "information_schema.sql_identifier"),-> ("view_schema", DomainType "information_schema.sql_identifier"),-> ("view_name", DomainType "information_schema.sql_identifier"),-> ("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("column_name", DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.view_routine_usage"-> [("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("specific_catalog",-> DomainType "information_schema.sql_identifier"),-> ("specific_schema",-> DomainType "information_schema.sql_identifier"),-> ("specific_name", DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.view_table_usage"-> [("view_catalog", DomainType "information_schema.sql_identifier"),-> ("view_schema", DomainType "information_schema.sql_identifier"),-> ("view_name", DomainType "information_schema.sql_identifier"),-> ("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier")],-> CatCreateView "information_schema.views"-> [("table_catalog", DomainType "information_schema.sql_identifier"),-> ("table_schema", DomainType "information_schema.sql_identifier"),-> ("table_name", DomainType "information_schema.sql_identifier"),-> ("view_definition",-> DomainType "information_schema.character_data"),-> ("check_option", DomainType "information_schema.character_data"),-> ("is_updatable", DomainType "information_schema.character_data"),-> ("is_insertable_into",-> DomainType "information_schema.character_data")]]+This file is auto generated, to regenerate use the+regenDefaultTemplate1catalog.sh script. You will need postgresql+installed to do this.++> module Database.HsSqlPpp.Internals.Catalog.DefaultTemplate1Catalog+> (defaultTemplate1Catalog) where+>+> import Database.HsSqlPpp.Internals.Catalog.CatalogInternal+> import Database.HsSqlPpp.Internals.TypeType+>+> defaultTemplate1Catalog :: Catalog+> defaultTemplate1Catalog =+> (\l -> case l of+> Left x -> error $ show x+> Right e -> e) $+> updateCatalog defaultCatalog++ +> [CatCreateScalar (ScalarType "bool") "B" True,+> CatCreateScalar (ScalarType "bytea") "U" False,+> CatCreateScalar (ScalarType "char") "S" False,+> CatCreateScalar (ScalarType "name") "S" False,+> CatCreateScalar (ScalarType "int8") "N" False,+> CatCreateScalar (ScalarType "int2") "N" False,+> CatCreateScalar (ScalarType "int2vector") "A" False,+> CatCreateScalar (ScalarType "int4") "N" False,+> CatCreateScalar (ScalarType "regproc") "N" False,+> CatCreateScalar (ScalarType "text") "S" True,+> CatCreateScalar (ScalarType "oid") "N" True,+> CatCreateScalar (ScalarType "tid") "U" False,+> CatCreateScalar (ScalarType "xid") "U" False,+> CatCreateScalar (ScalarType "cid") "U" False,+> CatCreateScalar (ScalarType "oidvector") "A" False,+> CatCreateScalar (ScalarType "xml") "U" False,+> CatCreateScalar (ScalarType "point") "G" False,+> CatCreateScalar (ScalarType "lseg") "G" False,+> CatCreateScalar (ScalarType "path") "G" False,+> CatCreateScalar (ScalarType "box") "G" False,+> CatCreateScalar (ScalarType "polygon") "G" False,+> CatCreateScalar (ScalarType "line") "G" False,+> CatCreateScalar (ScalarType "float4") "N" False,+> CatCreateScalar (ScalarType "float8") "N" True,+> CatCreateScalar (ScalarType "abstime") "D" False,+> CatCreateScalar (ScalarType "reltime") "T" False,+> CatCreateScalar (ScalarType "tinterval") "T" False,+> CatCreateScalar (ScalarType "circle") "G" False,+> CatCreateScalar (ScalarType "money") "N" False,+> CatCreateScalar (ScalarType "macaddr") "U" False,+> CatCreateScalar (ScalarType "inet") "I" True,+> CatCreateScalar (ScalarType "cidr") "I" False,+> CatCreateScalar (ScalarType "aclitem") "U" False,+> CatCreateScalar (ScalarType "bpchar") "S" False,+> CatCreateScalar (ScalarType "varchar") "S" False,+> CatCreateScalar (ScalarType "date") "D" False,+> CatCreateScalar (ScalarType "time") "D" False,+> CatCreateScalar (ScalarType "timestamp") "D" False,+> CatCreateScalar (ScalarType "timestamptz") "D" True,+> CatCreateScalar (ScalarType "interval") "T" True,+> CatCreateScalar (ScalarType "timetz") "D" False,+> CatCreateScalar (ScalarType "bit") "V" False,+> CatCreateScalar (ScalarType "varbit") "V" True,+> CatCreateScalar (ScalarType "numeric") "N" False,+> CatCreateScalar (ScalarType "refcursor") "U" False,+> CatCreateScalar (ScalarType "regprocedure") "N" False,+> CatCreateScalar (ScalarType "regoper") "N" False,+> CatCreateScalar (ScalarType "regoperator") "N" False,+> CatCreateScalar (ScalarType "regclass") "N" False,+> CatCreateScalar (ScalarType "regtype") "N" False,+> CatCreateScalar (ScalarType "uuid") "U" False,+> CatCreateScalar (ScalarType "tsvector") "U" False,+> CatCreateScalar (ScalarType "gtsvector") "U" False,+> CatCreateScalar (ScalarType "tsquery") "U" False,+> CatCreateScalar (ScalarType "regconfig") "N" False,+> CatCreateScalar (ScalarType "regdictionary") "N" False,+> CatCreateScalar (ScalarType "txid_snapshot") "U" False,+> CatCreateDomain (DomainType "information_schema.cardinal_number")+> (ScalarType "int4"),+> CatCreateDomain (DomainType "information_schema.character_data")+> (ScalarType "varchar"),+> CatCreateDomain (DomainType "information_schema.sql_identifier")+> (ScalarType "varchar"),+> CatCreateDomain (DomainType "information_schema.time_stamp")+> (ScalarType "timestamptz"),+> CatCreateDomain (DomainType "information_schema.yes_or_no")+> (ScalarType "varchar"),+> CatCreateCast (ScalarType "int8") (ScalarType "int2")+> AssignmentCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "float4")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "float8")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "numeric")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "int8")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "int4")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "float4")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "float8")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "numeric")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "int8")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "int2")+> AssignmentCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "float4")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "float8")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "numeric")+> ImplicitCastContext,+> CatCreateCast (ScalarType "float4") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "float4") (ScalarType "int2")+> AssignmentCastContext,+> CatCreateCast (ScalarType "float4") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "float4") (ScalarType "float8")+> ImplicitCastContext,+> CatCreateCast (ScalarType "float4") (ScalarType "numeric")+> AssignmentCastContext,+> CatCreateCast (ScalarType "float8") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "float8") (ScalarType "int2")+> AssignmentCastContext,+> CatCreateCast (ScalarType "float8") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "float8") (ScalarType "float4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "float8") (ScalarType "numeric")+> AssignmentCastContext,+> CatCreateCast (ScalarType "numeric") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "numeric") (ScalarType "int2")+> AssignmentCastContext,+> CatCreateCast (ScalarType "numeric") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "numeric") (ScalarType "float4")+> ImplicitCastContext,+> CatCreateCast (ScalarType "numeric") (ScalarType "float8")+> ImplicitCastContext,+> CatCreateCast (ScalarType "money") (ScalarType "numeric")+> AssignmentCastContext,+> CatCreateCast (ScalarType "numeric") (ScalarType "money")+> AssignmentCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "money")+> AssignmentCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "money")+> AssignmentCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "bool")+> ExplicitCastContext,+> CatCreateCast (ScalarType "bool") (ScalarType "int4")+> ExplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "oid") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "oid") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "oid") (ScalarType "regproc")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regproc") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "regproc")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "regproc")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "regproc")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regproc") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "regproc") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "regproc") (ScalarType "regprocedure")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regprocedure") (ScalarType "regproc")+> ImplicitCastContext,+> CatCreateCast (ScalarType "oid") (ScalarType "regprocedure")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regprocedure") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "regprocedure")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "regprocedure")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "regprocedure")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regprocedure") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "regprocedure") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "oid") (ScalarType "regoper")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regoper") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "regoper")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "regoper")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "regoper")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regoper") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "regoper") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "regoper") (ScalarType "regoperator")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regoperator") (ScalarType "regoper")+> ImplicitCastContext,+> CatCreateCast (ScalarType "oid") (ScalarType "regoperator")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regoperator") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "regoperator")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "regoperator")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "regoperator")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regoperator") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "regoperator") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "oid") (ScalarType "regclass")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regclass") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "regclass")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "regclass")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "regclass")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regclass") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "regclass") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "oid") (ScalarType "regtype")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regtype") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "regtype")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "regtype")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "regtype")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regtype") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "regtype") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "oid") (ScalarType "regconfig")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regconfig") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "regconfig")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "regconfig")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "regconfig")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regconfig") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "regconfig") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "oid") (ScalarType "regdictionary")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regdictionary") (ScalarType "oid")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "regdictionary")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int2") (ScalarType "regdictionary")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "regdictionary")+> ImplicitCastContext,+> CatCreateCast (ScalarType "regdictionary") (ScalarType "int8")+> AssignmentCastContext,+> CatCreateCast (ScalarType "regdictionary") (ScalarType "int4")+> AssignmentCastContext,+> CatCreateCast (ScalarType "text") (ScalarType "regclass")+> ImplicitCastContext,+> CatCreateCast (ScalarType "varchar") (ScalarType "regclass")+> ImplicitCastContext,+> CatCreateCast (ScalarType "text") (ScalarType "bpchar")+> ImplicitCastContext,+> CatCreateCast (ScalarType "text") (ScalarType "varchar")+> ImplicitCastContext,+> CatCreateCast (ScalarType "bpchar") (ScalarType "text")+> ImplicitCastContext,+> CatCreateCast (ScalarType "bpchar") (ScalarType "varchar")+> ImplicitCastContext,+> CatCreateCast (ScalarType "varchar") (ScalarType "text")+> ImplicitCastContext,+> CatCreateCast (ScalarType "varchar") (ScalarType "bpchar")+> ImplicitCastContext,+> CatCreateCast (ScalarType "char") (ScalarType "text")+> ImplicitCastContext,+> CatCreateCast (ScalarType "char") (ScalarType "bpchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "char") (ScalarType "varchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "name") (ScalarType "text")+> ImplicitCastContext,+> CatCreateCast (ScalarType "name") (ScalarType "bpchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "name") (ScalarType "varchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "text") (ScalarType "char")+> AssignmentCastContext,+> CatCreateCast (ScalarType "bpchar") (ScalarType "char")+> AssignmentCastContext,+> CatCreateCast (ScalarType "varchar") (ScalarType "char")+> AssignmentCastContext,+> CatCreateCast (ScalarType "text") (ScalarType "name")+> ImplicitCastContext,+> CatCreateCast (ScalarType "bpchar") (ScalarType "name")+> ImplicitCastContext,+> CatCreateCast (ScalarType "varchar") (ScalarType "name")+> ImplicitCastContext,+> CatCreateCast (ScalarType "char") (ScalarType "int4")+> ExplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "char")+> ExplicitCastContext,+> CatCreateCast (ScalarType "pg_node_tree") (ScalarType "text")+> ImplicitCastContext,+> CatCreateCast (ScalarType "abstime") (ScalarType "date")+> AssignmentCastContext,+> CatCreateCast (ScalarType "abstime") (ScalarType "time")+> AssignmentCastContext,+> CatCreateCast (ScalarType "abstime") (ScalarType "timestamp")+> ImplicitCastContext,+> CatCreateCast (ScalarType "abstime") (ScalarType "timestamptz")+> ImplicitCastContext,+> CatCreateCast (ScalarType "reltime") (ScalarType "interval")+> ImplicitCastContext,+> CatCreateCast (ScalarType "date") (ScalarType "timestamp")+> ImplicitCastContext,+> CatCreateCast (ScalarType "date") (ScalarType "timestamptz")+> ImplicitCastContext,+> CatCreateCast (ScalarType "time") (ScalarType "interval")+> ImplicitCastContext,+> CatCreateCast (ScalarType "time") (ScalarType "timetz")+> ImplicitCastContext,+> CatCreateCast (ScalarType "timestamp") (ScalarType "abstime")+> AssignmentCastContext,+> CatCreateCast (ScalarType "timestamp") (ScalarType "date")+> AssignmentCastContext,+> CatCreateCast (ScalarType "timestamp") (ScalarType "time")+> AssignmentCastContext,+> CatCreateCast (ScalarType "timestamp") (ScalarType "timestamptz")+> ImplicitCastContext,+> CatCreateCast (ScalarType "timestamptz") (ScalarType "abstime")+> AssignmentCastContext,+> CatCreateCast (ScalarType "timestamptz") (ScalarType "date")+> AssignmentCastContext,+> CatCreateCast (ScalarType "timestamptz") (ScalarType "time")+> AssignmentCastContext,+> CatCreateCast (ScalarType "timestamptz") (ScalarType "timestamp")+> AssignmentCastContext,+> CatCreateCast (ScalarType "timestamptz") (ScalarType "timetz")+> AssignmentCastContext,+> CatCreateCast (ScalarType "interval") (ScalarType "reltime")+> AssignmentCastContext,+> CatCreateCast (ScalarType "interval") (ScalarType "time")+> AssignmentCastContext,+> CatCreateCast (ScalarType "timetz") (ScalarType "time")+> AssignmentCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "abstime")+> ExplicitCastContext,+> CatCreateCast (ScalarType "abstime") (ScalarType "int4")+> ExplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "reltime")+> ExplicitCastContext,+> CatCreateCast (ScalarType "reltime") (ScalarType "int4")+> ExplicitCastContext,+> CatCreateCast (ScalarType "lseg") (ScalarType "point")+> ExplicitCastContext,+> CatCreateCast (ScalarType "path") (ScalarType "point")+> ExplicitCastContext,+> CatCreateCast (ScalarType "path") (ScalarType "polygon")+> AssignmentCastContext,+> CatCreateCast (ScalarType "box") (ScalarType "point")+> ExplicitCastContext,+> CatCreateCast (ScalarType "box") (ScalarType "lseg")+> ExplicitCastContext,+> CatCreateCast (ScalarType "box") (ScalarType "polygon")+> AssignmentCastContext,+> CatCreateCast (ScalarType "box") (ScalarType "circle")+> ExplicitCastContext,+> CatCreateCast (ScalarType "polygon") (ScalarType "point")+> ExplicitCastContext,+> CatCreateCast (ScalarType "polygon") (ScalarType "path")+> AssignmentCastContext,+> CatCreateCast (ScalarType "polygon") (ScalarType "box")+> ExplicitCastContext,+> CatCreateCast (ScalarType "polygon") (ScalarType "circle")+> ExplicitCastContext,+> CatCreateCast (ScalarType "circle") (ScalarType "point")+> ExplicitCastContext,+> CatCreateCast (ScalarType "circle") (ScalarType "box")+> ExplicitCastContext,+> CatCreateCast (ScalarType "circle") (ScalarType "polygon")+> ExplicitCastContext,+> CatCreateCast (ScalarType "cidr") (ScalarType "inet")+> ImplicitCastContext,+> CatCreateCast (ScalarType "inet") (ScalarType "cidr")+> AssignmentCastContext,+> CatCreateCast (ScalarType "bit") (ScalarType "varbit")+> ImplicitCastContext,+> CatCreateCast (ScalarType "varbit") (ScalarType "bit")+> ImplicitCastContext,+> CatCreateCast (ScalarType "int8") (ScalarType "bit")+> ExplicitCastContext,+> CatCreateCast (ScalarType "int4") (ScalarType "bit")+> ExplicitCastContext,+> CatCreateCast (ScalarType "bit") (ScalarType "int8")+> ExplicitCastContext,+> CatCreateCast (ScalarType "bit") (ScalarType "int4")+> ExplicitCastContext,+> CatCreateCast (ScalarType "cidr") (ScalarType "text")+> AssignmentCastContext,+> CatCreateCast (ScalarType "inet") (ScalarType "text")+> AssignmentCastContext,+> CatCreateCast (ScalarType "bool") (ScalarType "text")+> AssignmentCastContext,+> CatCreateCast (ScalarType "xml") (ScalarType "text")+> AssignmentCastContext,+> CatCreateCast (ScalarType "text") (ScalarType "xml")+> ExplicitCastContext,+> CatCreateCast (ScalarType "cidr") (ScalarType "varchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "inet") (ScalarType "varchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "bool") (ScalarType "varchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "xml") (ScalarType "varchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "varchar") (ScalarType "xml")+> ExplicitCastContext,+> CatCreateCast (ScalarType "cidr") (ScalarType "bpchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "inet") (ScalarType "bpchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "bool") (ScalarType "bpchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "xml") (ScalarType "bpchar")+> AssignmentCastContext,+> CatCreateCast (ScalarType "bpchar") (ScalarType "xml")+> ExplicitCastContext,+> CatCreateCast (ScalarType "bpchar") (ScalarType "bpchar")+> ImplicitCastContext,+> CatCreateCast (ScalarType "varchar") (ScalarType "varchar")+> ImplicitCastContext,+> CatCreateCast (ScalarType "time") (ScalarType "time")+> ImplicitCastContext,+> CatCreateCast (ScalarType "timestamp") (ScalarType "timestamp")+> ImplicitCastContext,+> CatCreateCast (ScalarType "timestamptz") (ScalarType "timestamptz")+> ImplicitCastContext,+> CatCreateCast (ScalarType "interval") (ScalarType "interval")+> ImplicitCastContext,+> CatCreateCast (ScalarType "timetz") (ScalarType "timetz")+> ImplicitCastContext,+> CatCreateCast (ScalarType "bit") (ScalarType "bit")+> ImplicitCastContext,+> CatCreateCast (ScalarType "varbit") (ScalarType "varbit")+> ImplicitCastContext,+> CatCreateCast (ScalarType "numeric") (ScalarType "numeric")+> ImplicitCastContext,+> CatCreateFunction FunPrefix "~" [ScalarType "bit"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunPrefix "~" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunPrefix "~" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunPrefix "~" [ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunPrefix "~" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunPrefix "||/" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunPrefix "|/" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunPrefix "|" [ScalarType "tinterval"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunPrefix "@@" [ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunPrefix "@@" [ScalarType "polygon"]+> (ScalarType "point")+> False,+> CatCreateFunction FunPrefix "@@" [ScalarType "circle"]+> (ScalarType "point")+> False,+> CatCreateFunction FunPrefix "@@" [ScalarType "box"]+> (ScalarType "point")+> False,+> CatCreateFunction FunPrefix "@@" [ScalarType "path"]+> (ScalarType "point")+> False,+> CatCreateFunction FunPrefix "@-@" [ScalarType "lseg"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunPrefix "@-@" [ScalarType "path"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunPrefix "@" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunPrefix "@" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunPrefix "@" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunPrefix "@" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunPrefix "@" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunPrefix "@" [ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunPrefix "?|" [ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunPrefix "?|" [ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunPrefix "?-" [ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunPrefix "?-" [ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunPrefix "-" [ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunPrefix "-" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunPrefix "-" [ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunPrefix "-" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunPrefix "-" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunPrefix "-" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunPrefix "-" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunPrefix "+" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunPrefix "+" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunPrefix "+" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunPrefix "+" [ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunPrefix "+" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunPrefix "+" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunPrefix "#" [ScalarType "path"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunPrefix "#" [ScalarType "polygon"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunPrefix "!!" [ScalarType "tsquery"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunPrefix "!!" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunPostfix "!" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunBinary "~~*"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~~*"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~~*"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~~"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~~"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~~"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~~"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~>~"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~>~"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~>=~"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~>=~"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~="+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~="+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~="+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~="+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~="+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~<~"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~<~"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~<=~"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~<=~"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~*"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~*"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~*"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~"+> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~"+> [ScalarType "polygon", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "~"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "||"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunBinary "||"+> [ScalarType "text", Pseudo AnyNonArray]+> (ScalarType "text")+> False,+> CatCreateFunction FunBinary "||"+> [Pseudo AnyNonArray, ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunBinary "||"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunBinary "||"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "varbit")+> False,+> CatCreateFunction FunBinary "||" [Pseudo AnyArray, Pseudo AnyArray]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunBinary "||"+> [Pseudo AnyArray, Pseudo AnyElement]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunBinary "||"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunBinary "||"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "tsvector")+> False,+> CatCreateFunction FunBinary "||"+> [Pseudo AnyElement, Pseudo AnyArray]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunBinary "|>>"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "|>>"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "|>>"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "|&>"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "|&>"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "|&>"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "|"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "|"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "|"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunBinary "|"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunBinary "|"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunBinary "^"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "^"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunBinary "@@@"+> [ScalarType "tsvector", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@@@"+> [ScalarType "tsquery", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@@"+> [ScalarType "tsquery", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@@"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@@"+> [ScalarType "tsvector", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@@"+> [ScalarType "text", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@>"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@>"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@>"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@>"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@>"+> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@>"+> [ScalarType "box", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@>"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@>"+> [ScalarType "polygon", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@>"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "@>" [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?||"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?||"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?|"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?-|"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?-|"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?-"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?#"+> [ScalarType "line", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?#"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?#"+> [ScalarType "lseg", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?#"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?#"+> [ScalarType "lseg", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?#"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "?#"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">^"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">^"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">>="+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">>"+> [ScalarType "bit", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunBinary ">>"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">>"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">>"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">>"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">>"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary ">>"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary ">>"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunBinary ">>"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">=" [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">=" [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">=" [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">="+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">" [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">" [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">" [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary ">"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "=" [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "line", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "int2vector", ScalarType "int2vector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "cid", ScalarType "cid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "xid", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "=" [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "=" [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "xid", ScalarType "xid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "aclitem", ScalarType "aclitem"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "="+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<^"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<^"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@" [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "lseg", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "lseg", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "point", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "point", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "point", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "point", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "point", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<@"+> [ScalarType "point", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<?>"+> [ScalarType "abstime", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>" [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>" [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>" [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<>"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<=" [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<=" [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<=" [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<="+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<|"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<|"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<|"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<="+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "<<"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "<<"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunBinary "<<"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<<"+> [ScalarType "bit", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "line", ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "circle", ScalarType "polygon"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "lseg", ScalarType "line"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "point", ScalarType "line"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "point", ScalarType "lseg"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "lseg", ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "point", ScalarType "circle"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "point", ScalarType "path"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<->"+> [ScalarType "point", ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "<#>"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "tinterval")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<" [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<" [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<" [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "<"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "interval", ScalarType "float8"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "money", ScalarType "int2"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "money", ScalarType "int4"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "money", ScalarType "float8"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "money", ScalarType "float4"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "box", ScalarType "point"]+> (ScalarType "box")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunBinary "/"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "path")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "date", ScalarType "interval"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "time", ScalarType "interval"]+> (ScalarType "time")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "path")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "abstime", ScalarType "reltime"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "timestamptz", ScalarType "interval"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunBinary "-"+> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]+> (ArrayType (ScalarType "aclitem"))+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "inet", ScalarType "int8"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "box", ScalarType "point"]+> (ScalarType "box")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "timetz", ScalarType "interval"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "timestamp", ScalarType "interval"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "-"+> [ScalarType "date", ScalarType "int4"]+> (ScalarType "date")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "interval", ScalarType "timetz"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "box", ScalarType "point"]+> (ScalarType "box")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "timestamp", ScalarType "interval"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "interval", ScalarType "date"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "timetz", ScalarType "date"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "date", ScalarType "int4"]+> (ScalarType "date")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int8", ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "time", ScalarType "interval"]+> (ScalarType "time")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "interval", ScalarType "time"]+> (ScalarType "time")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "inet", ScalarType "int8"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunBinary "+"+> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]+> (ArrayType (ScalarType "aclitem"))+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "date", ScalarType "interval"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "abstime", ScalarType "reltime"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "timestamptz", ScalarType "interval"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "path")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "path")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "date", ScalarType "timetz"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int4", ScalarType "date"]+> (ScalarType "date")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "interval", ScalarType "timestamptz"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "date", ScalarType "time"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "timetz", ScalarType "interval"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "interval", ScalarType "timestamp"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunBinary "+"+> [ScalarType "time", ScalarType "date"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "path")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "box", ScalarType "point"]+> (ScalarType "box")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "money", ScalarType "float4"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "float4", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "money", ScalarType "float8"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "money", ScalarType "int4"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "money", ScalarType "int2"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "float8", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int4", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int2", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "float8", ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "interval", ScalarType "float8"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunBinary "*"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunBinary "&>"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&>"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&>"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&<|"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&<|"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&<|"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&<"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&<"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&<"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&&"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&&" [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&&"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&&"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&&"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunBinary "&&"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "&"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunBinary "&"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "&"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunBinary "&"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "&"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunBinary "%"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunBinary "%"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "%"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunBinary "%"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "#>="+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "#>"+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "#="+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "#<>"+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "#<="+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "#<"+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "##"+> [ScalarType "line", ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "##"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "##"+> [ScalarType "point", ScalarType "box"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "##"+> [ScalarType "point", ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "##"+> [ScalarType "point", ScalarType "line"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "##"+> [ScalarType "lseg", ScalarType "box"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "##"+> [ScalarType "line", ScalarType "box"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "##"+> [ScalarType "lseg", ScalarType "line"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "#"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "box")+> False,+> CatCreateFunction FunBinary "#"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunBinary "#"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunBinary "#"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "#"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunBinary "#"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "point")+> False,+> CatCreateFunction FunBinary "#"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunBinary "!~~*"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~~*"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~~*"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~~"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~~"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~~"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~~"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~*"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~*"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~*"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunBinary "!~"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "RI_FKey_cascade_del" [] (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_cascade_upd" [] (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_check_ins" [] (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_check_upd" [] (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_noaction_del" []+> (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_noaction_upd" []+> (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_restrict_del" []+> (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_restrict_upd" []+> (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_setdefault_del" []+> (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_setdefault_upd" []+> (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_setnull_del" [] (Pseudo Trigger)+> False,+> CatCreateFunction FunName "RI_FKey_setnull_upd" [] (Pseudo Trigger)+> False,+> CatCreateFunction FunName "abbrev" [ScalarType "cidr"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "abbrev" [ScalarType "inet"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "abs" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "abs" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "abs" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "abs" [ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "abs" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "abs" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "abstime" [ScalarType "timestamp"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunName "abstime" [ScalarType "timestamptz"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunName "abstimeeq"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "abstimege"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "abstimegt"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "abstimein" [Pseudo Cstring]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunName "abstimele"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "abstimelt"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "abstimene"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "abstimeout" [ScalarType "abstime"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "abstimerecv" [Pseudo Internal]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunName "abstimesend" [ScalarType "abstime"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "aclcontains"+> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "aclexplode"+> [ArrayType (ScalarType "aclitem")]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "aclinsert"+> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]+> (ArrayType (ScalarType "aclitem"))+> False,+> CatCreateFunction FunName "aclitemeq"+> [ScalarType "aclitem", ScalarType "aclitem"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "aclitemin" [Pseudo Cstring]+> (ScalarType "aclitem")+> False,+> CatCreateFunction FunName "aclitemout" [ScalarType "aclitem"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "aclremove"+> [ArrayType (ScalarType "aclitem"), ScalarType "aclitem"]+> (ArrayType (ScalarType "aclitem"))+> False,+> CatCreateFunction FunName "acos" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "age" [ScalarType "xid"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "age" [ScalarType "timestamp"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "age" [ScalarType "timestamptz"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "age"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "age"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "any_in" [Pseudo Cstring] (Pseudo Any)+> False,+> CatCreateFunction FunName "any_out" [Pseudo Any] (Pseudo Cstring)+> False,+> CatCreateFunction FunName "anyarray_in" [Pseudo Cstring]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "anyarray_out" [Pseudo AnyArray]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "anyarray_recv" [Pseudo Internal]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "anyarray_send" [Pseudo AnyArray]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "anyelement_in" [Pseudo Cstring]+> (Pseudo AnyElement)+> False,+> CatCreateFunction FunName "anyelement_out" [Pseudo AnyElement]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "anyenum_in" [Pseudo Cstring]+> (Pseudo AnyEnum)+> False,+> CatCreateFunction FunName "anyenum_out" [Pseudo AnyEnum]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "anynonarray_in" [Pseudo Cstring]+> (Pseudo AnyNonArray)+> False,+> CatCreateFunction FunName "anynonarray_out" [Pseudo AnyNonArray]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "anytextcat"+> [Pseudo AnyNonArray, ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "area" [ScalarType "path"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "area" [ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "area" [ScalarType "circle"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "areajoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "areasel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "array_agg_finalfn" [Pseudo Internal]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "array_agg_transfn"+> [Pseudo Internal, Pseudo AnyElement]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "array_append"+> [Pseudo AnyArray, Pseudo AnyElement]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "array_cat"+> [Pseudo AnyArray, Pseudo AnyArray]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "array_dims" [Pseudo AnyArray]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "array_eq"+> [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "array_fill"+> [Pseudo AnyElement, ArrayType (ScalarType "int4")]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "array_fill"+> [Pseudo AnyElement, ArrayType (ScalarType "int4"),+> ArrayType (ScalarType "int4")]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "array_ge"+> [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "array_gt"+> [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "array_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "array_larger"+> [Pseudo AnyArray, Pseudo AnyArray]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "array_le"+> [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "array_length"+> [Pseudo AnyArray, ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "array_lower"+> [Pseudo AnyArray, ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "array_lt"+> [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "array_ndims" [Pseudo AnyArray]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "array_ne"+> [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "array_out" [Pseudo AnyArray]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "array_prepend"+> [Pseudo AnyElement, Pseudo AnyArray]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "array_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "array_send" [Pseudo AnyArray]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "array_smaller"+> [Pseudo AnyArray, Pseudo AnyArray]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "array_to_string"+> [Pseudo AnyArray, ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "array_to_string"+> [Pseudo AnyArray, ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "array_upper"+> [Pseudo AnyArray, ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "arraycontained"+> [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "arraycontains"+> [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "arrayoverlap"+> [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ascii" [ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "ascii_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "ascii_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "asin" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "atan" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "atan2"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "big5_to_euc_tw"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "big5_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "big5_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "bit"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bit"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bit"+> [ScalarType "bit", ScalarType "int4", ScalarType "bool"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bit_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bit_length" [ScalarType "bytea"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "bit_length" [ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "bit_length" [ScalarType "bit"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "bit_out" [ScalarType "bit"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "bit_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bit_send" [ScalarType "bit"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "bitand"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bitcat"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "varbit")+> False,+> CatCreateFunction FunName "bitcmp"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "biteq"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bitge"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bitgt"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bitle"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bitlt"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bitne"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bitnot" [ScalarType "bit"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bitor"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bitshiftleft"+> [ScalarType "bit", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bitshiftright"+> [ScalarType "bit", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bittypmodin"+> [ArrayType (Pseudo Cstring)]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "bittypmodout" [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "bitxor"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "bool" [ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "booland_statefunc"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "booleq"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "boolge"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "boolgt"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "boolin" [Pseudo Cstring]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "boolle"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "boollt"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "boolne"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "boolor_statefunc"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "boolout" [ScalarType "bool"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "boolrecv" [Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "boolsend" [ScalarType "bool"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "box" [ScalarType "polygon"]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "box" [ScalarType "circle"]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "box"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "box_above"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_above_eq"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_add"+> [ScalarType "box", ScalarType "point"]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "box_below"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_below_eq"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_center" [ScalarType "box"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "box_contain"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_contain_pt"+> [ScalarType "box", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_contained"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_distance"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "box_div"+> [ScalarType "box", ScalarType "point"]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "box_eq"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_ge"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_gt"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_in" [Pseudo Cstring]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "box_intersect"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "box_le"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_left"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_lt"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_mul"+> [ScalarType "box", ScalarType "point"]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "box_out" [ScalarType "box"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "box_overabove"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_overbelow"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_overlap"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_overleft"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_overright"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_recv" [Pseudo Internal]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "box_right"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_same"+> [ScalarType "box", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "box_send" [ScalarType "box"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "box_sub"+> [ScalarType "box", ScalarType "point"]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "bpchar" [ScalarType "char"]+> (ScalarType "bpchar")+> False,+> CatCreateFunction FunName "bpchar" [ScalarType "name"]+> (ScalarType "bpchar")+> False,+> CatCreateFunction FunName "bpchar"+> [ScalarType "bpchar", ScalarType "int4", ScalarType "bool"]+> (ScalarType "bpchar")+> False,+> CatCreateFunction FunName "bpchar_larger"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bpchar")+> False,+> CatCreateFunction FunName "bpchar_pattern_ge"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpchar_pattern_gt"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpchar_pattern_le"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpchar_pattern_lt"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpchar_smaller"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bpchar")+> False,+> CatCreateFunction FunName "bpcharcmp"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "bpchareq"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharge"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpchargt"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpchariclike"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharicnlike"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharicregexeq"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharicregexne"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharin"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (ScalarType "bpchar")+> False,+> CatCreateFunction FunName "bpcharle"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharlike"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharlt"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharne"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharnlike"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharout" [ScalarType "bpchar"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "bpcharrecv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (ScalarType "bpchar")+> False,+> CatCreateFunction FunName "bpcharregexeq"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharregexne"+> [ScalarType "bpchar", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bpcharsend" [ScalarType "bpchar"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "bpchartypmodin"+> [ArrayType (Pseudo Cstring)]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "bpchartypmodout" [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "broadcast" [ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "btabstimecmp"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btarraycmp"+> [Pseudo AnyArray, Pseudo AnyArray]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btbeginscan"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "btboolcmp"+> [ScalarType "bool", ScalarType "bool"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btbpchar_pattern_cmp"+> [ScalarType "bpchar", ScalarType "bpchar"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btbuild"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "btbuildempty" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "btbulkdelete"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "btcharcmp"+> [ScalarType "char", ScalarType "char"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btcostestimate"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "btendscan" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "btfloat48cmp"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btfloat4cmp"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btfloat84cmp"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btfloat8cmp"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btgetbitmap"+> [Pseudo Internal, Pseudo Internal]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "btgettuple"+> [Pseudo Internal, Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "btinsert"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "btint24cmp"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btint28cmp"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btint2cmp"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btint42cmp"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btint48cmp"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btint4cmp"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btint82cmp"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btint84cmp"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btint8cmp"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btmarkpos" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "btnamecmp"+> [ScalarType "name", ScalarType "name"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btoidcmp"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btoidvectorcmp"+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btoptions"+> [ArrayType (ScalarType "text"), ScalarType "bool"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "btrecordcmp"+> [Pseudo Record, Pseudo Record]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btreltimecmp"+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btrescan"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "btrestrpos" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "btrim" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "btrim"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "btrim"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "bttext_pattern_cmp"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "bttextcmp"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "bttidcmp"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "bttintervalcmp"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "btvacuumcleanup"+> [Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "byteacat"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "byteacmp"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "byteaeq"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "byteage"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "byteagt"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "byteain" [Pseudo Cstring]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "byteale"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bytealike"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "bytealt"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "byteane"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "byteanlike"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "byteaout" [ScalarType "bytea"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "bytearecv" [Pseudo Internal]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "byteasend" [ScalarType "bytea"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "cash_cmp"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "cash_div_cash"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "cash_div_flt4"+> [ScalarType "money", ScalarType "float4"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_div_flt8"+> [ScalarType "money", ScalarType "float8"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_div_int2"+> [ScalarType "money", ScalarType "int2"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_div_int4"+> [ScalarType "money", ScalarType "int4"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_eq"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "cash_ge"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "cash_gt"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "cash_in" [Pseudo Cstring]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_le"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "cash_lt"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "cash_mi"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_mul_flt4"+> [ScalarType "money", ScalarType "float4"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_mul_flt8"+> [ScalarType "money", ScalarType "float8"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_mul_int2"+> [ScalarType "money", ScalarType "int2"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_mul_int4"+> [ScalarType "money", ScalarType "int4"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_ne"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "cash_out" [ScalarType "money"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "cash_pl"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_recv" [Pseudo Internal]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cash_send" [ScalarType "money"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "cash_words" [ScalarType "money"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "cashlarger"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cashsmaller"+> [ScalarType "money", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "cbrt" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "ceil" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "ceil" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "ceiling" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "ceiling" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "center" [ScalarType "box"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "center" [ScalarType "circle"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "char" [ScalarType "int4"]+> (ScalarType "char")+> False,+> CatCreateFunction FunName "char" [ScalarType "text"]+> (ScalarType "char")+> False,+> CatCreateFunction FunName "char_length" [ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "char_length" [ScalarType "bpchar"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "character_length" [ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "character_length" [ScalarType "bpchar"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "chareq"+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "charge"+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "chargt"+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "charin" [Pseudo Cstring]+> (ScalarType "char")+> False,+> CatCreateFunction FunName "charle"+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "charlt"+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "charne"+> [ScalarType "char", ScalarType "char"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "charout" [ScalarType "char"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "charrecv" [Pseudo Internal]+> (ScalarType "char")+> False,+> CatCreateFunction FunName "charsend" [ScalarType "char"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "chr" [ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "cideq"+> [ScalarType "cid", ScalarType "cid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "cidin" [Pseudo Cstring]+> (ScalarType "cid")+> False,+> CatCreateFunction FunName "cidout" [ScalarType "cid"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "cidr" [ScalarType "inet"]+> (ScalarType "cidr")+> False,+> CatCreateFunction FunName "cidr_in" [Pseudo Cstring]+> (ScalarType "cidr")+> False,+> CatCreateFunction FunName "cidr_out" [ScalarType "cidr"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "cidr_recv" [Pseudo Internal]+> (ScalarType "cidr")+> False,+> CatCreateFunction FunName "cidr_send" [ScalarType "cidr"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "cidrecv" [Pseudo Internal]+> (ScalarType "cid")+> False,+> CatCreateFunction FunName "cidsend" [ScalarType "cid"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "circle" [ScalarType "box"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunName "circle" [ScalarType "polygon"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunName "circle"+> [ScalarType "point", ScalarType "float8"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunName "circle_above"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_add_pt"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunName "circle_below"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_center" [ScalarType "circle"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "circle_contain"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_contain_pt"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_contained"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_distance"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "circle_div_pt"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunName "circle_eq"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_ge"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_gt"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_in" [Pseudo Cstring]+> (ScalarType "circle")+> False,+> CatCreateFunction FunName "circle_le"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_left"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_lt"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_mul_pt"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunName "circle_ne"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_out" [ScalarType "circle"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "circle_overabove"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_overbelow"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_overlap"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_overleft"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_overright"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_recv" [Pseudo Internal]+> (ScalarType "circle")+> False,+> CatCreateFunction FunName "circle_right"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_same"+> [ScalarType "circle", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "circle_send" [ScalarType "circle"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "circle_sub_pt"+> [ScalarType "circle", ScalarType "point"]+> (ScalarType "circle")+> False,+> CatCreateFunction FunName "clock_timestamp" []+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "close_lb"+> [ScalarType "line", ScalarType "box"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "close_ls"+> [ScalarType "line", ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "close_lseg"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "close_pb"+> [ScalarType "point", ScalarType "box"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "close_pl"+> [ScalarType "point", ScalarType "line"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "close_ps"+> [ScalarType "point", ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "close_sb"+> [ScalarType "lseg", ScalarType "box"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "close_sl"+> [ScalarType "lseg", ScalarType "line"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "col_description"+> [ScalarType "oid", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "contjoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "contsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "convert"+> [ScalarType "bytea", ScalarType "name", ScalarType "name"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "convert_from"+> [ScalarType "bytea", ScalarType "name"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "convert_to"+> [ScalarType "text", ScalarType "name"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "cos" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "cot" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "cstring_in" [Pseudo Cstring]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "cstring_out" [Pseudo Cstring]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "cstring_recv" [Pseudo Internal]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "cstring_send" [Pseudo Cstring]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "current_database" [] (ScalarType "name")+> False,+> CatCreateFunction FunName "current_query" [] (ScalarType "text")+> False,+> CatCreateFunction FunName "current_schema" [] (ScalarType "name")+> False,+> CatCreateFunction FunName "current_schemas" [ScalarType "bool"]+> (ArrayType (ScalarType "name"))+> False,+> CatCreateFunction FunName "current_setting" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "current_user" [] (ScalarType "name")+> False,+> CatCreateFunction FunName "currtid"+> [ScalarType "oid", ScalarType "tid"]+> (ScalarType "tid")+> False,+> CatCreateFunction FunName "currtid2"+> [ScalarType "text", ScalarType "tid"]+> (ScalarType "tid")+> False,+> CatCreateFunction FunName "currval" [ScalarType "regclass"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "cursor_to_xml"+> [ScalarType "refcursor", ScalarType "int4", ScalarType "bool",+> ScalarType "bool", ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "cursor_to_xmlschema"+> [ScalarType "refcursor", ScalarType "bool", ScalarType "bool",+> ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "database_to_xml"+> [ScalarType "bool", ScalarType "bool", ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "database_to_xml_and_xmlschema"+> [ScalarType "bool", ScalarType "bool", ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "database_to_xmlschema"+> [ScalarType "bool", ScalarType "bool", ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "date" [ScalarType "abstime"]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "date" [ScalarType "timestamp"]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "date" [ScalarType "timestamptz"]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "date_cmp"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "date_cmp_timestamp"+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "date_cmp_timestamptz"+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "date_eq"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_eq_timestamp"+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_eq_timestamptz"+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_ge"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_ge_timestamp"+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_ge_timestamptz"+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_gt"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_gt_timestamp"+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_gt_timestamptz"+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_in" [Pseudo Cstring]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "date_larger"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "date_le"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_le_timestamp"+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_le_timestamptz"+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_lt"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_lt_timestamp"+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_lt_timestamptz"+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_mi"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "date_mi_interval"+> [ScalarType "date", ScalarType "interval"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "date_mii"+> [ScalarType "date", ScalarType "int4"]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "date_ne"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_ne_timestamp"+> [ScalarType "date", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_ne_timestamptz"+> [ScalarType "date", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "date_out" [ScalarType "date"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "date_part"+> [ScalarType "text", ScalarType "abstime"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "date_part"+> [ScalarType "text", ScalarType "reltime"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "date_part"+> [ScalarType "text", ScalarType "date"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "date_part"+> [ScalarType "text", ScalarType "time"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "date_part"+> [ScalarType "text", ScalarType "timestamp"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "date_part"+> [ScalarType "text", ScalarType "timestamptz"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "date_part"+> [ScalarType "text", ScalarType "interval"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "date_part"+> [ScalarType "text", ScalarType "timetz"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "date_pl_interval"+> [ScalarType "date", ScalarType "interval"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "date_pli"+> [ScalarType "date", ScalarType "int4"]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "date_recv" [Pseudo Internal]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "date_send" [ScalarType "date"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "date_smaller"+> [ScalarType "date", ScalarType "date"]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "date_trunc"+> [ScalarType "text", ScalarType "timestamp"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "date_trunc"+> [ScalarType "text", ScalarType "timestamptz"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "date_trunc"+> [ScalarType "text", ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "datetime_pl"+> [ScalarType "date", ScalarType "time"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "datetimetz_pl"+> [ScalarType "date", ScalarType "timetz"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "dcbrt" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "decode"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "degrees" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dexp" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "diagonal" [ScalarType "box"]+> (ScalarType "lseg")+> False,+> CatCreateFunction FunName "diameter" [ScalarType "circle"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dispell_init" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "dispell_lexize"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "dist_cpoly"+> [ScalarType "circle", ScalarType "polygon"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dist_lb"+> [ScalarType "line", ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dist_pb"+> [ScalarType "point", ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dist_pc"+> [ScalarType "point", ScalarType "circle"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dist_pl"+> [ScalarType "point", ScalarType "line"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dist_ppath"+> [ScalarType "point", ScalarType "path"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dist_ps"+> [ScalarType "point", ScalarType "lseg"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dist_sb"+> [ScalarType "lseg", ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dist_sl"+> [ScalarType "lseg", ScalarType "line"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "div"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "dlog1" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dlog10" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "domain_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (Pseudo Any)+> False,+> CatCreateFunction FunName "domain_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (Pseudo Any)+> False,+> CatCreateFunction FunName "dpow"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dround" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dsimple_init" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "dsimple_lexize"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "dsnowball_init" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "dsnowball_lexize"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "dsqrt" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "dsynonym_init" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "dsynonym_lexize"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "dtrunc" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "encode"+> [ScalarType "bytea", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "enum_cmp"+> [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "enum_eq"+> [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "enum_first" [Pseudo AnyEnum]+> (Pseudo AnyEnum)+> False,+> CatCreateFunction FunName "enum_ge"+> [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "enum_gt"+> [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "enum_in"+> [Pseudo Cstring, ScalarType "oid"]+> (Pseudo AnyEnum)+> False,+> CatCreateFunction FunName "enum_larger"+> [Pseudo AnyEnum, Pseudo AnyEnum]+> (Pseudo AnyEnum)+> False,+> CatCreateFunction FunName "enum_last" [Pseudo AnyEnum]+> (Pseudo AnyEnum)+> False,+> CatCreateFunction FunName "enum_le"+> [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "enum_lt"+> [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "enum_ne"+> [Pseudo AnyEnum, Pseudo AnyEnum]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "enum_out" [Pseudo AnyEnum]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "enum_range" [Pseudo AnyEnum]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "enum_range"+> [Pseudo AnyEnum, Pseudo AnyEnum]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunName "enum_recv"+> [Pseudo Cstring, ScalarType "oid"]+> (Pseudo AnyEnum)+> False,+> CatCreateFunction FunName "enum_send" [Pseudo AnyEnum]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "enum_smaller"+> [Pseudo AnyEnum, Pseudo AnyEnum]+> (Pseudo AnyEnum)+> False,+> CatCreateFunction FunName "eqjoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "eqsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "euc_cn_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_cn_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_jis_2004_to_shift_jis_2004"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_jis_2004_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_jp_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_jp_to_sjis"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_jp_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_kr_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_kr_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_tw_to_big5"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_tw_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "euc_tw_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "exp" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "exp" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "factorial" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "family" [ScalarType "inet"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "fdw_handler_in" [Pseudo Cstring]+> (Pseudo FdwHandler)+> False,+> CatCreateFunction FunName "fdw_handler_out" [Pseudo FdwHandler]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "float4" [ScalarType "int8"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4" [ScalarType "int2"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4" [ScalarType "int4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4" [ScalarType "float8"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4" [ScalarType "numeric"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float48div"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float48eq"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float48ge"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float48gt"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float48le"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float48lt"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float48mi"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float48mul"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float48ne"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float48pl"+> [ScalarType "float4", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float4_accum"+> [ArrayType (ScalarType "float8"), ScalarType "float4"]+> (ArrayType (ScalarType "float8"))+> False,+> CatCreateFunction FunName "float4abs" [ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4div"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4eq"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float4ge"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float4gt"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float4in" [Pseudo Cstring]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4larger"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4le"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float4lt"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float4mi"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4mul"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4ne"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float4out" [ScalarType "float4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "float4pl"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4recv" [Pseudo Internal]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4send" [ScalarType "float4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "float4smaller"+> [ScalarType "float4", ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4um" [ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float4up" [ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "float8" [ScalarType "int8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8" [ScalarType "int2"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8" [ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8" [ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8" [ScalarType "numeric"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float84div"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float84eq"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float84ge"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float84gt"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float84le"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float84lt"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float84mi"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float84mul"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float84ne"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float84pl"+> [ScalarType "float8", ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_accum"+> [ArrayType (ScalarType "float8"), ScalarType "float8"]+> (ArrayType (ScalarType "float8"))+> False,+> CatCreateFunction FunName "float8_avg"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_corr"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_covar_pop"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_covar_samp"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_regr_accum"+> [ArrayType (ScalarType "float8"), ScalarType "float8",+> ScalarType "float8"]+> (ArrayType (ScalarType "float8"))+> False,+> CatCreateFunction FunName "float8_regr_avgx"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_regr_avgy"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_regr_intercept"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_regr_r2"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_regr_slope"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_regr_sxx"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_regr_sxy"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_regr_syy"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_stddev_pop"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_stddev_samp"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_var_pop"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8_var_samp"+> [ArrayType (ScalarType "float8")]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8abs" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8div"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8eq"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float8ge"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float8gt"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float8in" [Pseudo Cstring]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8larger"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8le"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float8lt"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float8mi"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8mul"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8ne"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "float8out" [ScalarType "float8"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "float8pl"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8recv" [Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8send" [ScalarType "float8"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "float8smaller"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8um" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "float8up" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "floor" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "floor" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "flt4_mul_cash"+> [ScalarType "float4", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "flt8_mul_cash"+> [ScalarType "float8", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "fmgr_c_validator" [ScalarType "oid"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "fmgr_internal_validator"+> [ScalarType "oid"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "fmgr_sql_validator" [ScalarType "oid"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "format" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "format_type"+> [ScalarType "oid", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "gb18030_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "gbk_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "generate_series"+> [ScalarType "int8", ScalarType "int8"]+> (SetOfType (ScalarType "int8"))+> False,+> CatCreateFunction FunName "generate_series"+> [ScalarType "int4", ScalarType "int4"]+> (SetOfType (ScalarType "int4"))+> False,+> CatCreateFunction FunName "generate_series"+> [ScalarType "int8", ScalarType "int8", ScalarType "int8"]+> (SetOfType (ScalarType "int8"))+> False,+> CatCreateFunction FunName "generate_series"+> [ScalarType "int4", ScalarType "int4", ScalarType "int4"]+> (SetOfType (ScalarType "int4"))+> False,+> CatCreateFunction FunName "generate_series"+> [ScalarType "timestamp", ScalarType "timestamp",+> ScalarType "interval"]+> (SetOfType (ScalarType "timestamp"))+> False,+> CatCreateFunction FunName "generate_series"+> [ScalarType "timestamptz", ScalarType "timestamptz",+> ScalarType "interval"]+> (SetOfType (ScalarType "timestamptz"))+> False,+> CatCreateFunction FunName "generate_subscripts"+> [Pseudo AnyArray, ScalarType "int4"]+> (SetOfType (ScalarType "int4"))+> False,+> CatCreateFunction FunName "generate_subscripts"+> [Pseudo AnyArray, ScalarType "int4", ScalarType "bool"]+> (SetOfType (ScalarType "int4"))+> False,+> CatCreateFunction FunName "get_bit"+> [ScalarType "bytea", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "get_bit"+> [ScalarType "bit", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "get_byte"+> [ScalarType "bytea", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "get_current_ts_config" []+> (ScalarType "regconfig")+> False,+> CatCreateFunction FunName "getdatabaseencoding" []+> (ScalarType "name")+> False,+> CatCreateFunction FunName "getpgusername" [] (ScalarType "name")+> False,+> CatCreateFunction FunName "gin_cmp_prefix"+> [ScalarType "text", ScalarType "text", ScalarType "int2",+> Pseudo Internal]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "gin_cmp_tslexeme"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "gin_extract_tsquery"+> [ScalarType "tsquery", Pseudo Internal, ScalarType "int2",+> Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gin_extract_tsquery"+> [ScalarType "tsquery", Pseudo Internal, ScalarType "int2",+> Pseudo Internal, Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gin_extract_tsvector"+> [ScalarType "tsvector", Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gin_extract_tsvector"+> [ScalarType "tsvector", Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gin_tsquery_consistent"+> [Pseudo Internal, ScalarType "int2", ScalarType "tsquery",+> ScalarType "int4", Pseudo Internal, Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "gin_tsquery_consistent"+> [Pseudo Internal, ScalarType "int2", ScalarType "tsquery",+> ScalarType "int4", Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ginarrayconsistent"+> [Pseudo Internal, ScalarType "int2", Pseudo AnyArray,+> ScalarType "int4", Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ginarrayextract"+> [Pseudo AnyArray, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "ginarrayextract"+> [Pseudo AnyArray, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "ginbeginscan"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "ginbuild"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "ginbuildempty" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "ginbulkdelete"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gincostestimate"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "ginendscan" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "gingetbitmap"+> [Pseudo Internal, Pseudo Internal]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "gininsert"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ginmarkpos" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "ginoptions"+> [ArrayType (ScalarType "text"), ScalarType "bool"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "ginqueryarrayextract"+> [Pseudo AnyArray, Pseudo Internal, ScalarType "int2",+> Pseudo Internal, Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "ginrescan"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "ginrestrpos" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "ginvacuumcleanup"+> [Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gist_box_compress" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gist_box_consistent"+> [Pseudo Internal, ScalarType "box", ScalarType "int4",+> ScalarType "oid", Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "gist_box_decompress" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gist_box_penalty"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gist_box_picksplit"+> [Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gist_box_same"+> [ScalarType "box", ScalarType "box", Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gist_box_union"+> [Pseudo Internal, Pseudo Internal]+> (ScalarType "box")+> False,+> CatCreateFunction FunName "gist_circle_compress" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gist_circle_consistent"+> [Pseudo Internal, ScalarType "circle", ScalarType "int4",+> ScalarType "oid", Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "gist_point_compress" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gist_point_consistent"+> [Pseudo Internal, ScalarType "point", ScalarType "int4",+> ScalarType "oid", Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "gist_point_distance"+> [Pseudo Internal, ScalarType "point", ScalarType "int4",+> ScalarType "oid"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "gist_poly_compress" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gist_poly_consistent"+> [Pseudo Internal, ScalarType "polygon", ScalarType "int4",+> ScalarType "oid", Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "gistbeginscan"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gistbuild"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gistbuildempty" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "gistbulkdelete"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gistcostestimate"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "gistendscan" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "gistgetbitmap"+> [Pseudo Internal, Pseudo Internal]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "gistgettuple"+> [Pseudo Internal, Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "gistinsert"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "gistmarkpos" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "gistoptions"+> [ArrayType (ScalarType "text"), ScalarType "bool"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "gistrescan"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "gistrestrpos" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "gistvacuumcleanup"+> [Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsquery_compress" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsquery_consistent"+> [Pseudo Internal, Pseudo Internal, ScalarType "int4",+> ScalarType "oid", Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "gtsquery_decompress" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsquery_penalty"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsquery_picksplit"+> [Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsquery_same"+> [ScalarType "int8", ScalarType "int8", Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsquery_union"+> [Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsvector_compress" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsvector_consistent"+> [Pseudo Internal, ScalarType "gtsvector", ScalarType "int4",+> ScalarType "oid", Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "gtsvector_decompress" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsvector_penalty"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsvector_picksplit"+> [Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsvector_same"+> [ScalarType "gtsvector", ScalarType "gtsvector", Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsvector_union"+> [Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "gtsvectorin" [Pseudo Cstring]+> (ScalarType "gtsvector")+> False,+> CatCreateFunction FunName "gtsvectorout" [ScalarType "gtsvector"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "has_any_column_privilege"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_any_column_privilege"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_any_column_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_any_column_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_any_column_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_any_column_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "text", ScalarType "int2", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "text", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "oid", ScalarType "int2", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "int2",+> ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text",+> ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "int2",+> ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text",+> ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "int2",+> ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text",+> ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "int2",+> ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_column_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text",+> ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_database_privilege"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_database_privilege"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_database_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_database_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_database_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_database_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_foreign_data_wrapper_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_function_privilege"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_function_privilege"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_function_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_function_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_function_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_function_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_language_privilege"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_language_privilege"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_language_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_language_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_language_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_language_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_schema_privilege"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_schema_privilege"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_schema_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_schema_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_schema_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_schema_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_sequence_privilege"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_sequence_privilege"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_sequence_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_sequence_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_sequence_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_sequence_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_server_privilege"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_server_privilege"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_server_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_server_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_server_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_server_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_table_privilege"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_table_privilege"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_table_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_table_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_table_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_table_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_tablespace_privilege"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_tablespace_privilege"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_tablespace_privilege"+> [ScalarType "name", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_tablespace_privilege"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_tablespace_privilege"+> [ScalarType "oid", ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "has_tablespace_privilege"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "hash_aclitem" [ScalarType "aclitem"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hash_array" [Pseudo AnyArray]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hash_numeric" [ScalarType "numeric"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashbeginscan"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "hashbpchar" [ScalarType "bpchar"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashbuild"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "hashbuildempty" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "hashbulkdelete"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "hashchar" [ScalarType "char"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashcostestimate"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "hashendscan" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "hashenum" [Pseudo AnyEnum]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashfloat4" [ScalarType "float4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashfloat8" [ScalarType "float8"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashgetbitmap"+> [Pseudo Internal, Pseudo Internal]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "hashgettuple"+> [Pseudo Internal, Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "hashinet" [ScalarType "inet"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashinsert"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "hashint2" [ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashint2vector"+> [ScalarType "int2vector"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashint4" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashint8" [ScalarType "int8"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashmacaddr" [ScalarType "macaddr"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashmarkpos" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "hashname" [ScalarType "name"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashoid" [ScalarType "oid"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashoidvector" [ScalarType "oidvector"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashoptions"+> [ArrayType (ScalarType "text"), ScalarType "bool"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "hashrescan"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal, Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "hashrestrpos" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "hashtext" [ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "hashvacuumcleanup"+> [Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "hashvarlena" [Pseudo Internal]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "height" [ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "host" [ScalarType "inet"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "hostmask" [ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "iclikejoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "iclikesel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "icnlikejoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "icnlikesel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "icregexeqjoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "icregexeqsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "icregexnejoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "icregexnesel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "inet_client_addr" [] (ScalarType "inet")+> False,+> CatCreateFunction FunName "inet_client_port" [] (ScalarType "int4")+> False,+> CatCreateFunction FunName "inet_in" [Pseudo Cstring]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "inet_out" [ScalarType "inet"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "inet_recv" [Pseudo Internal]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "inet_send" [ScalarType "inet"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "inet_server_addr" [] (ScalarType "inet")+> False,+> CatCreateFunction FunName "inet_server_port" [] (ScalarType "int4")+> False,+> CatCreateFunction FunName "inetand"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "inetmi"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "inetmi_int8"+> [ScalarType "inet", ScalarType "int8"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "inetnot" [ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "inetor"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "inetpl"+> [ScalarType "inet", ScalarType "int8"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "initcap" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "int2" [ScalarType "int8"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2" [ScalarType "int4"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2" [ScalarType "float4"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2" [ScalarType "float8"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2" [ScalarType "numeric"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int24div"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int24eq"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int24ge"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int24gt"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int24le"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int24lt"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int24mi"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int24mul"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int24ne"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int24pl"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int28div"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int28eq"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int28ge"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int28gt"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int28le"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int28lt"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int28mi"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int28mul"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int28ne"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int28pl"+> [ScalarType "int2", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int2_accum"+> [ArrayType (ScalarType "numeric"), ScalarType "int2"]+> (ArrayType (ScalarType "numeric"))+> False,+> CatCreateFunction FunName "int2_avg_accum"+> [ArrayType (ScalarType "int8"), ScalarType "int2"]+> (ArrayType (ScalarType "int8"))+> False,+> CatCreateFunction FunName "int2_mul_cash"+> [ScalarType "int2", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "int2_sum"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int2abs" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2and"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2div"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2eq"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int2ge"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int2gt"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int2in" [Pseudo Cstring]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2larger"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2le"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int2lt"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int2mi"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2mod"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2mul"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2ne"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int2not" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2or"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2out" [ScalarType "int2"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "int2pl"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2recv" [Pseudo Internal]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2send" [ScalarType "int2"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "int2shl"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2shr"+> [ScalarType "int2", ScalarType "int4"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2smaller"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2um" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2up" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int2vectoreq"+> [ScalarType "int2vector", ScalarType "int2vector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int2vectorin" [Pseudo Cstring]+> (ScalarType "int2vector")+> False,+> CatCreateFunction FunName "int2vectorout" [ScalarType "int2vector"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "int2vectorrecv" [Pseudo Internal]+> (ScalarType "int2vector")+> False,+> CatCreateFunction FunName "int2vectorsend"+> [ScalarType "int2vector"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "int2xor"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "int4" [ScalarType "bool"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4" [ScalarType "char"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4" [ScalarType "int8"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4" [ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4" [ScalarType "float4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4" [ScalarType "float8"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4" [ScalarType "bit"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4" [ScalarType "numeric"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int42div"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int42eq"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int42ge"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int42gt"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int42le"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int42lt"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int42mi"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int42mul"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int42ne"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int42pl"+> [ScalarType "int4", ScalarType "int2"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int48div"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int48eq"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int48ge"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int48gt"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int48le"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int48lt"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int48mi"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int48mul"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int48ne"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int48pl"+> [ScalarType "int4", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int4_accum"+> [ArrayType (ScalarType "numeric"), ScalarType "int4"]+> (ArrayType (ScalarType "numeric"))+> False,+> CatCreateFunction FunName "int4_avg_accum"+> [ArrayType (ScalarType "int8"), ScalarType "int4"]+> (ArrayType (ScalarType "int8"))+> False,+> CatCreateFunction FunName "int4_mul_cash"+> [ScalarType "int4", ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "int4_sum"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int4abs" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4and"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4div"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4eq"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int4ge"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int4gt"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int4in" [Pseudo Cstring]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4inc" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4larger"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4le"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int4lt"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int4mi"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4mod"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4mul"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4ne"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int4not" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4or"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4out" [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "int4pl"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4recv" [Pseudo Internal]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4send" [ScalarType "int4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "int4shl"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4shr"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4smaller"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4um" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4up" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int4xor"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "int8" [ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8" [ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8" [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8" [ScalarType "float4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8" [ScalarType "float8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8" [ScalarType "bit"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8" [ScalarType "numeric"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int82div"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int82eq"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int82ge"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int82gt"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int82le"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int82lt"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int82mi"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int82mul"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int82ne"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int82pl"+> [ScalarType "int8", ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int84div"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int84eq"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int84ge"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int84gt"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int84le"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int84lt"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int84mi"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int84mul"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int84ne"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int84pl"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8_accum"+> [ArrayType (ScalarType "numeric"), ScalarType "int8"]+> (ArrayType (ScalarType "numeric"))+> False,+> CatCreateFunction FunName "int8_avg"+> [ArrayType (ScalarType "int8")]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "int8_avg_accum"+> [ArrayType (ScalarType "numeric"), ScalarType "int8"]+> (ArrayType (ScalarType "numeric"))+> False,+> CatCreateFunction FunName "int8_sum"+> [ScalarType "numeric", ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "int8abs" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8and"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8div"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8eq"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int8ge"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int8gt"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int8in" [Pseudo Cstring]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8inc" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8inc_any"+> [ScalarType "int8", Pseudo Any]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8inc_float8_float8"+> [ScalarType "int8", ScalarType "float8", ScalarType "float8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8larger"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8le"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int8lt"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int8mi"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8mod"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8mul"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8ne"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "int8not" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8or"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8out" [ScalarType "int8"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "int8pl"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8pl_inet"+> [ScalarType "int8", ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "int8recv" [Pseudo Internal]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8send" [ScalarType "int8"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "int8shl"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8shr"+> [ScalarType "int8", ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8smaller"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8um" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8up" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "int8xor"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "integer_pl_date"+> [ScalarType "int4", ScalarType "date"]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "inter_lb"+> [ScalarType "line", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "inter_sb"+> [ScalarType "lseg", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "inter_sl"+> [ScalarType "lseg", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "internal_in" [Pseudo Cstring]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "internal_out" [Pseudo Internal]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "interval" [ScalarType "reltime"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval" [ScalarType "time"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval"+> [ScalarType "interval", ScalarType "int4"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval_accum"+> [ArrayType (ScalarType "interval"), ScalarType "interval"]+> (ArrayType (ScalarType "interval"))+> False,+> CatCreateFunction FunName "interval_avg"+> [ArrayType (ScalarType "interval")]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval_cmp"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "interval_div"+> [ScalarType "interval", ScalarType "float8"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval_eq"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "interval_ge"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "interval_gt"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "interval_hash" [ScalarType "interval"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "interval_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval_larger"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval_le"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "interval_lt"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "interval_mi"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval_mul"+> [ScalarType "interval", ScalarType "float8"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval_ne"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "interval_out" [ScalarType "interval"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "interval_pl"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval_pl_date"+> [ScalarType "interval", ScalarType "date"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "interval_pl_time"+> [ScalarType "interval", ScalarType "time"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "interval_pl_timestamp"+> [ScalarType "interval", ScalarType "timestamp"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "interval_pl_timestamptz"+> [ScalarType "interval", ScalarType "timestamptz"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "interval_pl_timetz"+> [ScalarType "interval", ScalarType "timetz"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "interval_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval_send" [ScalarType "interval"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "interval_smaller"+> [ScalarType "interval", ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "interval_um" [ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "intervaltypmodin"+> [ArrayType (Pseudo Cstring)]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "intervaltypmodout" [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "intinterval"+> [ScalarType "abstime", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isclosed" [ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isfinite" [ScalarType "abstime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isfinite" [ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isfinite" [ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isfinite" [ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isfinite" [ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ishorizontal" [ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ishorizontal" [ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ishorizontal"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "iso8859_1_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "iso8859_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "iso_to_koi8r"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "iso_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "iso_to_win1251"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "iso_to_win866"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "isopen" [ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isparallel"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isparallel"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isperp"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isperp"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isvertical" [ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isvertical" [ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "isvertical"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "johab_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "justify_days" [ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "justify_hours" [ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "justify_interval"+> [ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "koi8r_to_iso"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "koi8r_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "koi8r_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "koi8r_to_win1251"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "koi8r_to_win866"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "koi8u_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "language_handler_in" [Pseudo Cstring]+> (Pseudo LanguageHandler)+> False,+> CatCreateFunction FunName "language_handler_out"+> [Pseudo LanguageHandler]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "lastval" [] (ScalarType "int8") False,+> CatCreateFunction FunName "latin1_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "latin2_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "latin2_to_win1250"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "latin3_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "latin4_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "left"+> [ScalarType "text", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "length" [ScalarType "bytea"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "length" [ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "length" [ScalarType "lseg"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "length" [ScalarType "path"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "length" [ScalarType "bpchar"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "length" [ScalarType "bit"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "length" [ScalarType "tsvector"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "length"+> [ScalarType "bytea", ScalarType "name"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "like"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "like"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "like"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "like_escape"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "like_escape"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "likejoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "likesel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "line"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "line")+> False,+> CatCreateFunction FunName "line_distance"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "line_eq"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "line_horizontal" [ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "line_in" [Pseudo Cstring]+> (ScalarType "line")+> False,+> CatCreateFunction FunName "line_interpt"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "line_intersect"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "line_out" [ScalarType "line"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "line_parallel"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "line_perp"+> [ScalarType "line", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "line_recv" [Pseudo Internal]+> (ScalarType "line")+> False,+> CatCreateFunction FunName "line_send" [ScalarType "line"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "line_vertical" [ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ln" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "ln" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "lo_close" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "lo_creat" [ScalarType "int4"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "lo_create" [ScalarType "oid"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "lo_export"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "lo_import" [ScalarType "text"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "lo_import"+> [ScalarType "text", ScalarType "oid"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "lo_lseek"+> [ScalarType "int4", ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "lo_open"+> [ScalarType "oid", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "lo_tell" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "lo_truncate"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "lo_unlink" [ScalarType "oid"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "log" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "log" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "log"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "loread"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "lower" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "lowrite"+> [ScalarType "int4", ScalarType "bytea"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "lpad"+> [ScalarType "text", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "lpad"+> [ScalarType "text", ScalarType "int4", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "lseg" [ScalarType "box"]+> (ScalarType "lseg")+> False,+> CatCreateFunction FunName "lseg"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "lseg")+> False,+> CatCreateFunction FunName "lseg_center" [ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "lseg_distance"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "lseg_eq"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "lseg_ge"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "lseg_gt"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "lseg_horizontal" [ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "lseg_in" [Pseudo Cstring]+> (ScalarType "lseg")+> False,+> CatCreateFunction FunName "lseg_interpt"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "lseg_intersect"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "lseg_le"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "lseg_length" [ScalarType "lseg"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "lseg_lt"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "lseg_ne"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "lseg_out" [ScalarType "lseg"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "lseg_parallel"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "lseg_perp"+> [ScalarType "lseg", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "lseg_recv" [Pseudo Internal]+> (ScalarType "lseg")+> False,+> CatCreateFunction FunName "lseg_send" [ScalarType "lseg"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "lseg_vertical" [ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ltrim" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "ltrim"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "macaddr_cmp"+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "macaddr_eq"+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "macaddr_ge"+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "macaddr_gt"+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "macaddr_in" [Pseudo Cstring]+> (ScalarType "macaddr")+> False,+> CatCreateFunction FunName "macaddr_le"+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "macaddr_lt"+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "macaddr_ne"+> [ScalarType "macaddr", ScalarType "macaddr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "macaddr_out" [ScalarType "macaddr"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "macaddr_recv" [Pseudo Internal]+> (ScalarType "macaddr")+> False,+> CatCreateFunction FunName "macaddr_send" [ScalarType "macaddr"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "makeaclitem"+> [ScalarType "oid", ScalarType "oid", ScalarType "text",+> ScalarType "bool"]+> (ScalarType "aclitem")+> False,+> CatCreateFunction FunName "masklen" [ScalarType "inet"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "md5" [ScalarType "bytea"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "md5" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "mic_to_ascii"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_big5"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_euc_cn"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_euc_jp"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_euc_kr"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_euc_tw"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_iso"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_koi8r"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_latin1"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_latin2"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_latin3"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_latin4"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_sjis"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_win1250"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_win1251"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mic_to_win866"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "mktinterval"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "tinterval")+> False,+> CatCreateFunction FunName "mod"+> [ScalarType "int8", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "mod"+> [ScalarType "int2", ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunName "mod"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "mod"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "money" [ScalarType "int8"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "money" [ScalarType "int4"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "money" [ScalarType "numeric"]+> (ScalarType "money")+> False,+> CatCreateFunction FunName "mul_d_interval"+> [ScalarType "float8", ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "name" [ScalarType "text"]+> (ScalarType "name")+> False,+> CatCreateFunction FunName "name" [ScalarType "bpchar"]+> (ScalarType "name")+> False,+> CatCreateFunction FunName "name" [ScalarType "varchar"]+> (ScalarType "name")+> False,+> CatCreateFunction FunName "nameeq"+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "namege"+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "namegt"+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "nameiclike"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "nameicnlike"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "nameicregexeq"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "nameicregexne"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "namein" [Pseudo Cstring]+> (ScalarType "name")+> False,+> CatCreateFunction FunName "namele"+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "namelike"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "namelt"+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "namene"+> [ScalarType "name", ScalarType "name"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "namenlike"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "nameout" [ScalarType "name"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "namerecv" [Pseudo Internal]+> (ScalarType "name")+> False,+> CatCreateFunction FunName "nameregexeq"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "nameregexne"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "namesend" [ScalarType "name"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "neqjoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "neqsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "netmask" [ScalarType "inet"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "network" [ScalarType "inet"]+> (ScalarType "cidr")+> False,+> CatCreateFunction FunName "network_cmp"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "network_eq"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "network_ge"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "network_gt"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "network_le"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "network_lt"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "network_ne"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "network_sub"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "network_subeq"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "network_sup"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "network_supeq"+> [ScalarType "inet", ScalarType "inet"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "nextval" [ScalarType "regclass"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "nlikejoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "nlikesel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "notlike"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "notlike"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "notlike"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "now" [] (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "npoints" [ScalarType "path"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "npoints" [ScalarType "polygon"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "numeric" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric" [ScalarType "int2"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric" [ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric" [ScalarType "float4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric" [ScalarType "float8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric" [ScalarType "money"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric"+> [ScalarType "numeric", ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_abs" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_accum"+> [ArrayType (ScalarType "numeric"), ScalarType "numeric"]+> (ArrayType (ScalarType "numeric"))+> False,+> CatCreateFunction FunName "numeric_add"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_avg"+> [ArrayType (ScalarType "numeric")]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_avg_accum"+> [ArrayType (ScalarType "numeric"), ScalarType "numeric"]+> (ArrayType (ScalarType "numeric"))+> False,+> CatCreateFunction FunName "numeric_cmp"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "numeric_div"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_div_trunc"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_eq"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "numeric_exp" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_fac" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_ge"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "numeric_gt"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "numeric_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_inc" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_larger"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_le"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "numeric_ln" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_log"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_lt"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "numeric_mod"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_mul"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_ne"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "numeric_out" [ScalarType "numeric"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "numeric_power"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_send" [ScalarType "numeric"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "numeric_smaller"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_sqrt" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_stddev_pop"+> [ArrayType (ScalarType "numeric")]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_stddev_samp"+> [ArrayType (ScalarType "numeric")]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_sub"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_uminus" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_uplus" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_var_pop"+> [ArrayType (ScalarType "numeric")]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numeric_var_samp"+> [ArrayType (ScalarType "numeric")]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "numerictypmodin"+> [ArrayType (Pseudo Cstring)]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "numerictypmodout" [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "numnode" [ScalarType "tsquery"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "obj_description" [ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "obj_description"+> [ScalarType "oid", ScalarType "name"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "octet_length" [ScalarType "bytea"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "octet_length" [ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "octet_length" [ScalarType "bpchar"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "octet_length" [ScalarType "bit"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "oid" [ScalarType "int8"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "oideq"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidge"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidgt"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidin" [Pseudo Cstring]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "oidlarger"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "oidle"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidlt"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidne"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidout" [ScalarType "oid"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "oidrecv" [Pseudo Internal]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "oidsend" [ScalarType "oid"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "oidsmaller"+> [ScalarType "oid", ScalarType "oid"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "oidvectoreq"+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidvectorge"+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidvectorgt"+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidvectorin" [Pseudo Cstring]+> (ScalarType "oidvector")+> False,+> CatCreateFunction FunName "oidvectorle"+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidvectorlt"+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidvectorne"+> [ScalarType "oidvector", ScalarType "oidvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "oidvectorout" [ScalarType "oidvector"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "oidvectorrecv" [Pseudo Internal]+> (ScalarType "oidvector")+> False,+> CatCreateFunction FunName "oidvectorsend" [ScalarType "oidvector"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "oidvectortypes" [ScalarType "oidvector"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "on_pb"+> [ScalarType "point", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "on_pl"+> [ScalarType "point", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "on_ppath"+> [ScalarType "point", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "on_ps"+> [ScalarType "point", ScalarType "lseg"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "on_sb"+> [ScalarType "lseg", ScalarType "box"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "on_sl"+> [ScalarType "lseg", ScalarType "line"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "opaque_in" [Pseudo Cstring]+> (Pseudo Opaque)+> False,+> CatCreateFunction FunName "opaque_out" [Pseudo Opaque]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "time", ScalarType "time", ScalarType "time",+> ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "time", ScalarType "time", ScalarType "time",+> ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "time", ScalarType "interval", ScalarType "time",+> ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "time", ScalarType "interval", ScalarType "time",+> ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "timestamp", ScalarType "timestamp",+> ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "timestamp", ScalarType "timestamp",+> ScalarType "timestamp", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "timestamp", ScalarType "interval",+> ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "timestamp", ScalarType "interval",+> ScalarType "timestamp", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "timestamptz", ScalarType "timestamptz",+> ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "timestamptz", ScalarType "timestamptz",+> ScalarType "timestamptz", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "timestamptz", ScalarType "interval",+> ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "timestamptz", ScalarType "interval",+> ScalarType "timestamptz", ScalarType "interval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlaps"+> [ScalarType "timetz", ScalarType "timetz", ScalarType "timetz",+> ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "overlay"+> [ScalarType "bytea", ScalarType "bytea", ScalarType "int4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "overlay"+> [ScalarType "text", ScalarType "text", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "overlay"+> [ScalarType "bit", ScalarType "bit", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "overlay"+> [ScalarType "bytea", ScalarType "bytea", ScalarType "int4",+> ScalarType "int4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "overlay"+> [ScalarType "text", ScalarType "text", ScalarType "int4",+> ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "overlay"+> [ScalarType "bit", ScalarType "bit", ScalarType "int4",+> ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "path" [ScalarType "polygon"]+> (ScalarType "path")+> False,+> CatCreateFunction FunName "path_add"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "path")+> False,+> CatCreateFunction FunName "path_add_pt"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "path")+> False,+> CatCreateFunction FunName "path_center" [ScalarType "path"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "path_contain_pt"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "path_distance"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "path_div_pt"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "path")+> False,+> CatCreateFunction FunName "path_in" [Pseudo Cstring]+> (ScalarType "path")+> False,+> CatCreateFunction FunName "path_inter"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "path_length" [ScalarType "path"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "path_mul_pt"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "path")+> False,+> CatCreateFunction FunName "path_n_eq"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "path_n_ge"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "path_n_gt"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "path_n_le"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "path_n_lt"+> [ScalarType "path", ScalarType "path"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "path_npoints" [ScalarType "path"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "path_out" [ScalarType "path"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "path_recv" [Pseudo Internal]+> (ScalarType "path")+> False,+> CatCreateFunction FunName "path_send" [ScalarType "path"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "path_sub_pt"+> [ScalarType "path", ScalarType "point"]+> (ScalarType "path")+> False,+> CatCreateFunction FunName "pclose" [ScalarType "path"]+> (ScalarType "path")+> False,+> CatCreateFunction FunName "pg_advisory_lock" [ScalarType "int8"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_advisory_lock"+> [ScalarType "int4", ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_advisory_lock_shared"+> [ScalarType "int8"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_advisory_lock_shared"+> [ScalarType "int4", ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_advisory_unlock" [ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_advisory_unlock"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_advisory_unlock_all" [] (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_advisory_unlock_shared"+> [ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_advisory_unlock_shared"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_advisory_xact_lock"+> [ScalarType "int8"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_advisory_xact_lock"+> [ScalarType "int4", ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_advisory_xact_lock_shared"+> [ScalarType "int8"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_advisory_xact_lock_shared"+> [ScalarType "int4", ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_available_extension_versions" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_available_extensions" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_backend_pid" [] (ScalarType "int4")+> False,+> CatCreateFunction FunName "pg_cancel_backend" [ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_char_to_encoding" [ScalarType "name"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "pg_client_encoding" []+> (ScalarType "name")+> False,+> CatCreateFunction FunName "pg_collation_is_visible"+> [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_column_size" [Pseudo Any]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "pg_conf_load_time" []+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_conversion_is_visible"+> [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_create_restore_point"+> [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_current_xlog_insert_location" []+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_current_xlog_location" []+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_cursor" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_database_size" [ScalarType "name"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_database_size" [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_describe_object"+> [ScalarType "oid", ScalarType "oid", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_encoding_max_length"+> [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "pg_encoding_to_char" [ScalarType "int4"]+> (ScalarType "name")+> False,+> CatCreateFunction FunName "pg_extension_config_dump"+> [ScalarType "regclass", ScalarType "text"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_extension_update_paths"+> [ScalarType "name"]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_function_is_visible"+> [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_get_constraintdef" [ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_constraintdef"+> [ScalarType "oid", ScalarType "bool"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_expr"+> [ScalarType "pg_node_tree", ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_expr"+> [ScalarType "pg_node_tree", ScalarType "oid", ScalarType "bool"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_function_arguments"+> [ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_function_identity_arguments"+> [ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_function_result"+> [ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_functiondef" [ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_indexdef" [ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_indexdef"+> [ScalarType "oid", ScalarType "int4", ScalarType "bool"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_keywords" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_get_ruledef" [ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_ruledef"+> [ScalarType "oid", ScalarType "bool"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_serial_sequence"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_triggerdef" [ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_triggerdef"+> [ScalarType "oid", ScalarType "bool"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_userbyid" [ScalarType "oid"]+> (ScalarType "name")+> False,+> CatCreateFunction FunName "pg_get_viewdef" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_viewdef" [ScalarType "oid"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_viewdef"+> [ScalarType "text", ScalarType "bool"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_get_viewdef"+> [ScalarType "oid", ScalarType "bool"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_has_role"+> [ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_has_role"+> [ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_has_role"+> [ScalarType "name", ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_has_role"+> [ScalarType "name", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_has_role"+> [ScalarType "oid", ScalarType "name", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_has_role"+> [ScalarType "oid", ScalarType "oid", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_indexes_size" [ScalarType "regclass"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_is_in_recovery" []+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_is_other_temp_schema"+> [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_is_xlog_replay_paused" []+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_last_xact_replay_timestamp" []+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_last_xlog_receive_location" []+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_last_xlog_replay_location" []+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_listening_channels" []+> (SetOfType (ScalarType "text"))+> False,+> CatCreateFunction FunName "pg_lock_status" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_ls_dir" [ScalarType "text"]+> (SetOfType (ScalarType "text"))+> False,+> CatCreateFunction FunName "pg_my_temp_schema" [] (ScalarType "oid")+> False,+> CatCreateFunction FunName "pg_node_tree_in" [Pseudo Cstring]+> (ScalarType "pg_node_tree")+> False,+> CatCreateFunction FunName "pg_node_tree_out"+> [ScalarType "pg_node_tree"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "pg_node_tree_recv" [Pseudo Internal]+> (ScalarType "pg_node_tree")+> False,+> CatCreateFunction FunName "pg_node_tree_send"+> [ScalarType "pg_node_tree"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "pg_notify"+> [ScalarType "text", ScalarType "text"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_opclass_is_visible"+> [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_operator_is_visible"+> [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_options_to_table"+> [ArrayType (ScalarType "text")]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_postmaster_start_time" []+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_prepared_statement" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_prepared_xact" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_read_binary_file" [ScalarType "text"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "pg_read_binary_file"+> [ScalarType "text", ScalarType "int8", ScalarType "int8"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "pg_read_file" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_read_file"+> [ScalarType "text", ScalarType "int8", ScalarType "int8"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_relation_filenode"+> [ScalarType "regclass"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "pg_relation_filepath"+> [ScalarType "regclass"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_relation_size"+> [ScalarType "regclass"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_relation_size"+> [ScalarType "regclass", ScalarType "text"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_reload_conf" [] (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_rotate_logfile" []+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_sequence_parameters"+> [ScalarType "oid"]+> (Pseudo Record)+> False,+> CatCreateFunction FunName "pg_show_all_settings" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_size_pretty" [ScalarType "int8"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_sleep" [ScalarType "float8"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_start_backup"+> [ScalarType "text", ScalarType "bool"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_stat_clear_snapshot" [] (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_stat_file" [ScalarType "text"]+> (Pseudo Record)+> False,+> CatCreateFunction FunName "pg_stat_get_activity"+> [ScalarType "int4"]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_stat_get_analyze_count"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_autoanalyze_count"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_autovacuum_count"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_backend_activity"+> [ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_stat_get_backend_activity_start"+> [ScalarType "int4"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_stat_get_backend_client_addr"+> [ScalarType "int4"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "pg_stat_get_backend_client_port"+> [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "pg_stat_get_backend_dbid"+> [ScalarType "int4"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "pg_stat_get_backend_idset" []+> (SetOfType (ScalarType "int4"))+> False,+> CatCreateFunction FunName "pg_stat_get_backend_pid"+> [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "pg_stat_get_backend_start"+> [ScalarType "int4"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_stat_get_backend_userid"+> [ScalarType "int4"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunName "pg_stat_get_backend_waiting"+> [ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_stat_get_backend_xact_start"+> [ScalarType "int4"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName+> "pg_stat_get_bgwriter_buf_written_checkpoints"+> []+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_bgwriter_buf_written_clean"+> []+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_bgwriter_maxwritten_clean"+> []+> (ScalarType "int8")+> False,+> CatCreateFunction FunName+> "pg_stat_get_bgwriter_requested_checkpoints"+> []+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_bgwriter_stat_reset_time" []+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_stat_get_bgwriter_timed_checkpoints"+> []+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_blocks_fetched"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_blocks_hit"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_buf_alloc" []+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_buf_fsync_backend" []+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_buf_written_backend" []+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_blocks_fetched"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_blocks_hit"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_conflict_all"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_conflict_bufferpin"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_conflict_lock"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_conflict_snapshot"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName+> "pg_stat_get_db_conflict_startup_deadlock"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_conflict_tablespace"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_numbackends"+> [ScalarType "oid"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "pg_stat_get_db_stat_reset_time"+> [ScalarType "oid"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_stat_get_db_tuples_deleted"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_tuples_fetched"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_tuples_inserted"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_tuples_returned"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_tuples_updated"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_xact_commit"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_db_xact_rollback"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_dead_tuples"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_function_calls"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_function_self_time"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_function_time"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_last_analyze_time"+> [ScalarType "oid"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_stat_get_last_autoanalyze_time"+> [ScalarType "oid"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_stat_get_last_autovacuum_time"+> [ScalarType "oid"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_stat_get_last_vacuum_time"+> [ScalarType "oid"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "pg_stat_get_live_tuples"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_numscans" [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_tuples_deleted"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_tuples_fetched"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_tuples_hot_updated"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_tuples_inserted"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_tuples_returned"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_tuples_updated"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_vacuum_count"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_wal_senders" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_stat_get_xact_blocks_fetched"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_blocks_hit"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_function_calls"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_function_self_time"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_function_time"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_numscans"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_tuples_deleted"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_tuples_fetched"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_tuples_hot_updated"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_tuples_inserted"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_tuples_returned"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_get_xact_tuples_updated"+> [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_stat_reset" [] (Pseudo Void) False,+> CatCreateFunction FunName "pg_stat_reset_shared"+> [ScalarType "text"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_stat_reset_single_function_counters"+> [ScalarType "oid"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_stat_reset_single_table_counters"+> [ScalarType "oid"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_stop_backup" [] (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_switch_xlog" [] (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_table_is_visible" [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_table_size" [ScalarType "regclass"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_tablespace_databases"+> [ScalarType "oid"]+> (SetOfType (ScalarType "oid"))+> False,+> CatCreateFunction FunName "pg_tablespace_size" [ScalarType "name"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_tablespace_size" [ScalarType "oid"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_terminate_backend"+> [ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_timezone_abbrevs" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_timezone_names" []+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "pg_total_relation_size"+> [ScalarType "regclass"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "pg_try_advisory_lock"+> [ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_try_advisory_lock"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_try_advisory_lock_shared"+> [ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_try_advisory_lock_shared"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_try_advisory_xact_lock"+> [ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_try_advisory_xact_lock"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_try_advisory_xact_lock_shared"+> [ScalarType "int8"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_try_advisory_xact_lock_shared"+> [ScalarType "int4", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_ts_config_is_visible"+> [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_ts_dict_is_visible"+> [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_ts_parser_is_visible"+> [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_ts_template_is_visible"+> [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_type_is_visible" [ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pg_typeof" [Pseudo Any]+> (ScalarType "regtype")+> False,+> CatCreateFunction FunName "pg_xlog_replay_pause" [] (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_xlog_replay_resume" [] (Pseudo Void)+> False,+> CatCreateFunction FunName "pg_xlogfile_name" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "pg_xlogfile_name_offset"+> [ScalarType "text"]+> (Pseudo Record)+> False,+> CatCreateFunction FunName "pi" [] (ScalarType "float8") False,+> CatCreateFunction FunName "plainto_tsquery" [ScalarType "text"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "plainto_tsquery"+> [ScalarType "regconfig", ScalarType "text"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "plpgsql_call_handler" []+> (Pseudo LanguageHandler)+> False,+> CatCreateFunction FunName "plpgsql_inline_handler"+> [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "plpgsql_validator" [ScalarType "oid"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "point" [ScalarType "lseg"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point" [ScalarType "path"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point" [ScalarType "box"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point" [ScalarType "polygon"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point" [ScalarType "circle"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point_above"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "point_add"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point_below"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "point_distance"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "point_div"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point_eq"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "point_horiz"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "point_in" [Pseudo Cstring]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point_left"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "point_mul"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point_ne"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "point_out" [ScalarType "point"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "point_recv" [Pseudo Internal]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point_right"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "point_send" [ScalarType "point"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "point_sub"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "point_vert"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_above"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_below"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_center" [ScalarType "polygon"]+> (ScalarType "point")+> False,+> CatCreateFunction FunName "poly_contain"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_contain_pt"+> [ScalarType "polygon", ScalarType "point"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_contained"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_distance"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "poly_in" [Pseudo Cstring]+> (ScalarType "polygon")+> False,+> CatCreateFunction FunName "poly_left"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_npoints" [ScalarType "polygon"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "poly_out" [ScalarType "polygon"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "poly_overabove"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_overbelow"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_overlap"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_overleft"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_overright"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_recv" [Pseudo Internal]+> (ScalarType "polygon")+> False,+> CatCreateFunction FunName "poly_right"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_same"+> [ScalarType "polygon", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "poly_send" [ScalarType "polygon"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "polygon" [ScalarType "path"]+> (ScalarType "polygon")+> False,+> CatCreateFunction FunName "polygon" [ScalarType "box"]+> (ScalarType "polygon")+> False,+> CatCreateFunction FunName "polygon" [ScalarType "circle"]+> (ScalarType "polygon")+> False,+> CatCreateFunction FunName "polygon"+> [ScalarType "int4", ScalarType "circle"]+> (ScalarType "polygon")+> False,+> CatCreateFunction FunName "popen" [ScalarType "path"]+> (ScalarType "path")+> False,+> CatCreateFunction FunName "position"+> [ScalarType "bytea", ScalarType "bytea"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "position"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "position"+> [ScalarType "bit", ScalarType "bit"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "positionjoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "positionsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "postgresql_fdw_validator"+> [ArrayType (ScalarType "text"), ScalarType "oid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pow"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "pow"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "power"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "power"+> [ScalarType "numeric", ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "prsd_end" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "prsd_headline"+> [Pseudo Internal, Pseudo Internal, ScalarType "tsquery"]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "prsd_lextype" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "prsd_nexttoken"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "prsd_start"+> [Pseudo Internal, ScalarType "int4"]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "pt_contained_circle"+> [ScalarType "point", ScalarType "circle"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "pt_contained_poly"+> [ScalarType "point", ScalarType "polygon"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "query_to_xml"+> [ScalarType "text", ScalarType "bool", ScalarType "bool",+> ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "query_to_xml_and_xmlschema"+> [ScalarType "text", ScalarType "bool", ScalarType "bool",+> ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "query_to_xmlschema"+> [ScalarType "text", ScalarType "bool", ScalarType "bool",+> ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "querytree" [ScalarType "tsquery"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "quote_ident" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "quote_literal" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "quote_literal" [Pseudo AnyElement]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "quote_nullable" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "quote_nullable" [Pseudo AnyElement]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "radians" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "radius" [ScalarType "circle"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "random" [] (ScalarType "float8") False,+> CatCreateFunction FunName "record_eq"+> [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "record_ge"+> [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "record_gt"+> [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "record_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (Pseudo Record)+> False,+> CatCreateFunction FunName "record_le"+> [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "record_lt"+> [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "record_ne"+> [Pseudo Record, Pseudo Record]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "record_out" [Pseudo Record]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "record_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (Pseudo Record)+> False,+> CatCreateFunction FunName "record_send" [Pseudo Record]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "regclass" [ScalarType "text"]+> (ScalarType "regclass")+> False,+> CatCreateFunction FunName "regclassin" [Pseudo Cstring]+> (ScalarType "regclass")+> False,+> CatCreateFunction FunName "regclassout" [ScalarType "regclass"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "regclassrecv" [Pseudo Internal]+> (ScalarType "regclass")+> False,+> CatCreateFunction FunName "regclasssend" [ScalarType "regclass"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "regconfigin" [Pseudo Cstring]+> (ScalarType "regconfig")+> False,+> CatCreateFunction FunName "regconfigout" [ScalarType "regconfig"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "regconfigrecv" [Pseudo Internal]+> (ScalarType "regconfig")+> False,+> CatCreateFunction FunName "regconfigsend" [ScalarType "regconfig"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "regdictionaryin" [Pseudo Cstring]+> (ScalarType "regdictionary")+> False,+> CatCreateFunction FunName "regdictionaryout"+> [ScalarType "regdictionary"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "regdictionaryrecv" [Pseudo Internal]+> (ScalarType "regdictionary")+> False,+> CatCreateFunction FunName "regdictionarysend"+> [ScalarType "regdictionary"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "regexeqjoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "regexeqsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "regexnejoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "regexnesel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "regexp_matches"+> [ScalarType "text", ScalarType "text"]+> (SetOfType (ArrayType (ScalarType "text")))+> False,+> CatCreateFunction FunName "regexp_matches"+> [ScalarType "text", ScalarType "text", ScalarType "text"]+> (SetOfType (ArrayType (ScalarType "text")))+> False,+> CatCreateFunction FunName "regexp_replace"+> [ScalarType "text", ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "regexp_replace"+> [ScalarType "text", ScalarType "text", ScalarType "text",+> ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "regexp_split_to_array"+> [ScalarType "text", ScalarType "text"]+> (ArrayType (ScalarType "text"))+> False,+> CatCreateFunction FunName "regexp_split_to_array"+> [ScalarType "text", ScalarType "text", ScalarType "text"]+> (ArrayType (ScalarType "text"))+> False,+> CatCreateFunction FunName "regexp_split_to_table"+> [ScalarType "text", ScalarType "text"]+> (SetOfType (ScalarType "text"))+> False,+> CatCreateFunction FunName "regexp_split_to_table"+> [ScalarType "text", ScalarType "text", ScalarType "text"]+> (SetOfType (ScalarType "text"))+> False,+> CatCreateFunction FunName "regoperatorin" [Pseudo Cstring]+> (ScalarType "regoperator")+> False,+> CatCreateFunction FunName "regoperatorout"+> [ScalarType "regoperator"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "regoperatorrecv" [Pseudo Internal]+> (ScalarType "regoperator")+> False,+> CatCreateFunction FunName "regoperatorsend"+> [ScalarType "regoperator"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "regoperin" [Pseudo Cstring]+> (ScalarType "regoper")+> False,+> CatCreateFunction FunName "regoperout" [ScalarType "regoper"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "regoperrecv" [Pseudo Internal]+> (ScalarType "regoper")+> False,+> CatCreateFunction FunName "regopersend" [ScalarType "regoper"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "regprocedurein" [Pseudo Cstring]+> (ScalarType "regprocedure")+> False,+> CatCreateFunction FunName "regprocedureout"+> [ScalarType "regprocedure"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "regprocedurerecv" [Pseudo Internal]+> (ScalarType "regprocedure")+> False,+> CatCreateFunction FunName "regproceduresend"+> [ScalarType "regprocedure"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "regprocin" [Pseudo Cstring]+> (ScalarType "regproc")+> False,+> CatCreateFunction FunName "regprocout" [ScalarType "regproc"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "regprocrecv" [Pseudo Internal]+> (ScalarType "regproc")+> False,+> CatCreateFunction FunName "regprocsend" [ScalarType "regproc"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "regtypein" [Pseudo Cstring]+> (ScalarType "regtype")+> False,+> CatCreateFunction FunName "regtypeout" [ScalarType "regtype"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "regtyperecv" [Pseudo Internal]+> (ScalarType "regtype")+> False,+> CatCreateFunction FunName "regtypesend" [ScalarType "regtype"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "reltime" [ScalarType "interval"]+> (ScalarType "reltime")+> False,+> CatCreateFunction FunName "reltimeeq"+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "reltimege"+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "reltimegt"+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "reltimein" [Pseudo Cstring]+> (ScalarType "reltime")+> False,+> CatCreateFunction FunName "reltimele"+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "reltimelt"+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "reltimene"+> [ScalarType "reltime", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "reltimeout" [ScalarType "reltime"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "reltimerecv" [Pseudo Internal]+> (ScalarType "reltime")+> False,+> CatCreateFunction FunName "reltimesend" [ScalarType "reltime"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "repeat"+> [ScalarType "text", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "replace"+> [ScalarType "text", ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "reverse" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "right"+> [ScalarType "text", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "round" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "round" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "round"+> [ScalarType "numeric", ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "rpad"+> [ScalarType "text", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "rpad"+> [ScalarType "text", ScalarType "int4", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "rtrim" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "rtrim"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "scalargtjoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "scalargtsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "scalarltjoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "scalarltsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "schema_to_xml"+> [ScalarType "name", ScalarType "bool", ScalarType "bool",+> ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "schema_to_xml_and_xmlschema"+> [ScalarType "name", ScalarType "bool", ScalarType "bool",+> ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "schema_to_xmlschema"+> [ScalarType "name", ScalarType "bool", ScalarType "bool",+> ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "session_user" [] (ScalarType "name")+> False,+> CatCreateFunction FunName "set_bit"+> [ScalarType "bytea", ScalarType "int4", ScalarType "int4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "set_bit"+> [ScalarType "bit", ScalarType "int4", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "set_byte"+> [ScalarType "bytea", ScalarType "int4", ScalarType "int4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "set_config"+> [ScalarType "text", ScalarType "text", ScalarType "bool"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "set_masklen"+> [ScalarType "cidr", ScalarType "int4"]+> (ScalarType "cidr")+> False,+> CatCreateFunction FunName "set_masklen"+> [ScalarType "inet", ScalarType "int4"]+> (ScalarType "inet")+> False,+> CatCreateFunction FunName "setseed" [ScalarType "float8"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "setval"+> [ScalarType "regclass", ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "setval"+> [ScalarType "regclass", ScalarType "int8", ScalarType "bool"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "setweight"+> [ScalarType "tsvector", ScalarType "char"]+> (ScalarType "tsvector")+> False,+> CatCreateFunction FunName "shell_in" [Pseudo Cstring]+> (Pseudo Opaque)+> False,+> CatCreateFunction FunName "shell_out" [Pseudo Opaque]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "shift_jis_2004_to_euc_jis_2004"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "shift_jis_2004_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "shobj_description"+> [ScalarType "oid", ScalarType "name"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "sign" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "sign" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "similar_escape"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "sin" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "sjis_to_euc_jp"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "sjis_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "sjis_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "slope"+> [ScalarType "point", ScalarType "point"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "smgreq"+> [ScalarType "smgr", ScalarType "smgr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "smgrin" [Pseudo Cstring]+> (ScalarType "smgr")+> False,+> CatCreateFunction FunName "smgrne"+> [ScalarType "smgr", ScalarType "smgr"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "smgrout" [ScalarType "smgr"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "split_part"+> [ScalarType "text", ScalarType "text", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "sqrt" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "sqrt" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "statement_timestamp" []+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "string_agg_finalfn" [Pseudo Internal]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "string_agg_transfn"+> [Pseudo Internal, ScalarType "text", ScalarType "text"]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "string_to_array"+> [ScalarType "text", ScalarType "text"]+> (ArrayType (ScalarType "text"))+> False,+> CatCreateFunction FunName "string_to_array"+> [ScalarType "text", ScalarType "text", ScalarType "text"]+> (ArrayType (ScalarType "text"))+> False,+> CatCreateFunction FunName "strip" [ScalarType "tsvector"]+> (ScalarType "tsvector")+> False,+> CatCreateFunction FunName "strpos"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "substr"+> [ScalarType "bytea", ScalarType "int4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "substr"+> [ScalarType "text", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "substr"+> [ScalarType "bytea", ScalarType "int4", ScalarType "int4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "substr"+> [ScalarType "text", ScalarType "int4", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "substring"+> [ScalarType "bytea", ScalarType "int4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "substring"+> [ScalarType "text", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "substring"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "substring"+> [ScalarType "bit", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "substring"+> [ScalarType "bytea", ScalarType "int4", ScalarType "int4"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "substring"+> [ScalarType "text", ScalarType "int4", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "substring"+> [ScalarType "text", ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "substring"+> [ScalarType "bit", ScalarType "int4", ScalarType "int4"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunName "suppress_redundant_updates_trigger" []+> (Pseudo Trigger)+> False,+> CatCreateFunction FunName "table_to_xml"+> [ScalarType "regclass", ScalarType "bool", ScalarType "bool",+> ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "table_to_xml_and_xmlschema"+> [ScalarType "regclass", ScalarType "bool", ScalarType "bool",+> ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "table_to_xmlschema"+> [ScalarType "regclass", ScalarType "bool", ScalarType "bool",+> ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "tan" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "text" [ScalarType "bool"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "text" [ScalarType "char"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "text" [ScalarType "name"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "text" [ScalarType "xml"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "text" [ScalarType "inet"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "text" [ScalarType "bpchar"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "text_ge"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "text_gt"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "text_larger"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "text_le"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "text_lt"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "text_pattern_ge"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "text_pattern_gt"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "text_pattern_le"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "text_pattern_lt"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "text_smaller"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "textanycat"+> [ScalarType "text", Pseudo AnyNonArray]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "textcat"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "texteq"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "texticlike"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "texticnlike"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "texticregexeq"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "texticregexne"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "textin" [Pseudo Cstring]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "textlen" [ScalarType "text"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "textlike"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "textne"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "textnlike"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "textout" [ScalarType "text"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "textrecv" [Pseudo Internal]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "textregexeq"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "textregexne"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "textsend" [ScalarType "text"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "thesaurus_init" [Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "thesaurus_lexize"+> [Pseudo Internal, Pseudo Internal, Pseudo Internal,+> Pseudo Internal]+> (Pseudo Internal)+> False,+> CatCreateFunction FunName "tideq"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tidge"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tidgt"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tidin" [Pseudo Cstring]+> (ScalarType "tid")+> False,+> CatCreateFunction FunName "tidlarger"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "tid")+> False,+> CatCreateFunction FunName "tidle"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tidlt"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tidne"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tidout" [ScalarType "tid"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "tidrecv" [Pseudo Internal]+> (ScalarType "tid")+> False,+> CatCreateFunction FunName "tidsend" [ScalarType "tid"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "tidsmaller"+> [ScalarType "tid", ScalarType "tid"]+> (ScalarType "tid")+> False,+> CatCreateFunction FunName "time" [ScalarType "abstime"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time" [ScalarType "timestamp"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time" [ScalarType "timestamptz"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time" [ScalarType "interval"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time" [ScalarType "timetz"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time"+> [ScalarType "time", ScalarType "int4"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time_cmp"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "time_eq"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "time_ge"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "time_gt"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "time_hash" [ScalarType "time"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "time_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time_larger"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time_le"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "time_lt"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "time_mi_interval"+> [ScalarType "time", ScalarType "interval"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time_mi_time"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "time_ne"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "time_out" [ScalarType "time"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "time_pl_interval"+> [ScalarType "time", ScalarType "interval"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "time_send" [ScalarType "time"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "time_smaller"+> [ScalarType "time", ScalarType "time"]+> (ScalarType "time")+> False,+> CatCreateFunction FunName "timedate_pl"+> [ScalarType "time", ScalarType "date"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timemi"+> [ScalarType "abstime", ScalarType "reltime"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunName "timenow" [] (ScalarType "abstime")+> False,+> CatCreateFunction FunName "timeofday" [] (ScalarType "text") False,+> CatCreateFunction FunName "timepl"+> [ScalarType "abstime", ScalarType "reltime"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunName "timestamp" [ScalarType "abstime"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamp" [ScalarType "date"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamp" [ScalarType "timestamptz"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamp"+> [ScalarType "date", ScalarType "time"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamp"+> [ScalarType "timestamp", ScalarType "int4"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamp_cmp"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timestamp_cmp_date"+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timestamp_cmp_timestamptz"+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timestamp_eq"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_eq_date"+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_eq_timestamptz"+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_ge"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_ge_date"+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_ge_timestamptz"+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_gt"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_gt_date"+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_gt_timestamptz"+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_hash" [ScalarType "timestamp"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timestamp_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamp_larger"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamp_le"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_le_date"+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_le_timestamptz"+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_lt"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_lt_date"+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_lt_timestamptz"+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_mi"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "timestamp_mi_interval"+> [ScalarType "timestamp", ScalarType "interval"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamp_ne"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_ne_date"+> [ScalarType "timestamp", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_ne_timestamptz"+> [ScalarType "timestamp", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamp_out" [ScalarType "timestamp"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "timestamp_pl_interval"+> [ScalarType "timestamp", ScalarType "interval"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamp_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamp_send" [ScalarType "timestamp"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "timestamp_smaller"+> [ScalarType "timestamp", ScalarType "timestamp"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timestamptypmodin"+> [ArrayType (Pseudo Cstring)]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timestamptypmodout" [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "timestamptz" [ScalarType "abstime"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz" [ScalarType "date"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz" [ScalarType "timestamp"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz"+> [ScalarType "date", ScalarType "time"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz"+> [ScalarType "date", ScalarType "timetz"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz"+> [ScalarType "timestamptz", ScalarType "int4"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz_cmp"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timestamptz_cmp_date"+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timestamptz_cmp_timestamp"+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timestamptz_eq"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_eq_date"+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_eq_timestamp"+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_ge"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_ge_date"+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_ge_timestamp"+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_gt"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_gt_date"+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_gt_timestamp"+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz_larger"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz_le"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_le_date"+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_le_timestamp"+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_lt"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_lt_date"+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_lt_timestamp"+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_mi"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunName "timestamptz_mi_interval"+> [ScalarType "timestamptz", ScalarType "interval"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz_ne"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_ne_date"+> [ScalarType "timestamptz", ScalarType "date"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_ne_timestamp"+> [ScalarType "timestamptz", ScalarType "timestamp"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timestamptz_out"+> [ScalarType "timestamptz"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "timestamptz_pl_interval"+> [ScalarType "timestamptz", ScalarType "interval"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptz_send"+> [ScalarType "timestamptz"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "timestamptz_smaller"+> [ScalarType "timestamptz", ScalarType "timestamptz"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timestamptztypmodin"+> [ArrayType (Pseudo Cstring)]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timestamptztypmodout"+> [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "timetypmodin"+> [ArrayType (Pseudo Cstring)]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timetypmodout" [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "timetz" [ScalarType "time"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "timetz" [ScalarType "timestamptz"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "timetz"+> [ScalarType "timetz", ScalarType "int4"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "timetz_cmp"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timetz_eq"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timetz_ge"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timetz_gt"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timetz_hash" [ScalarType "timetz"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timetz_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "timetz_larger"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "timetz_le"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timetz_lt"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timetz_mi_interval"+> [ScalarType "timetz", ScalarType "interval"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "timetz_ne"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "timetz_out" [ScalarType "timetz"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "timetz_pl_interval"+> [ScalarType "timetz", ScalarType "interval"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "timetz_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "timetz_send" [ScalarType "timetz"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "timetz_smaller"+> [ScalarType "timetz", ScalarType "timetz"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "timetzdate_pl"+> [ScalarType "timetz", ScalarType "date"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timetztypmodin"+> [ArrayType (Pseudo Cstring)]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "timetztypmodout" [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "timezone"+> [ScalarType "text", ScalarType "timestamp"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timezone"+> [ScalarType "text", ScalarType "timestamptz"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timezone"+> [ScalarType "text", ScalarType "timetz"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "timezone"+> [ScalarType "interval", ScalarType "timestamp"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "timezone"+> [ScalarType "interval", ScalarType "timestamptz"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunName "timezone"+> [ScalarType "interval", ScalarType "timetz"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunName "tinterval"+> [ScalarType "abstime", ScalarType "abstime"]+> (ScalarType "tinterval")+> False,+> CatCreateFunction FunName "tintervalct"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervalend" [ScalarType "tinterval"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunName "tintervaleq"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervalge"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervalgt"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervalin" [Pseudo Cstring]+> (ScalarType "tinterval")+> False,+> CatCreateFunction FunName "tintervalle"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervalleneq"+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervallenge"+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervallengt"+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervallenle"+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervallenlt"+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervallenne"+> [ScalarType "tinterval", ScalarType "reltime"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervallt"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervalne"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervalout" [ScalarType "tinterval"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "tintervalov"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervalrecv" [Pseudo Internal]+> (ScalarType "tinterval")+> False,+> CatCreateFunction FunName "tintervalrel" [ScalarType "tinterval"]+> (ScalarType "reltime")+> False,+> CatCreateFunction FunName "tintervalsame"+> [ScalarType "tinterval", ScalarType "tinterval"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tintervalsend" [ScalarType "tinterval"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "tintervalstart" [ScalarType "tinterval"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunName "to_ascii" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_ascii"+> [ScalarType "text", ScalarType "name"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_ascii"+> [ScalarType "text", ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_char"+> [ScalarType "int8", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_char"+> [ScalarType "int4", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_char"+> [ScalarType "float4", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_char"+> [ScalarType "float8", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_char"+> [ScalarType "timestamp", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_char"+> [ScalarType "timestamptz", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_char"+> [ScalarType "interval", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_char"+> [ScalarType "numeric", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_date"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "date")+> False,+> CatCreateFunction FunName "to_hex" [ScalarType "int8"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_hex" [ScalarType "int4"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "to_number"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "to_timestamp" [ScalarType "float8"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "to_timestamp"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "to_tsquery" [ScalarType "text"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "to_tsquery"+> [ScalarType "regconfig", ScalarType "text"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "to_tsvector" [ScalarType "text"]+> (ScalarType "tsvector")+> False,+> CatCreateFunction FunName "to_tsvector"+> [ScalarType "regconfig", ScalarType "text"]+> (ScalarType "tsvector")+> False,+> CatCreateFunction FunName "transaction_timestamp" []+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunName "translate"+> [ScalarType "text", ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "trigger_in" [Pseudo Cstring]+> (Pseudo Trigger)+> False,+> CatCreateFunction FunName "trigger_out" [Pseudo Trigger]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "trunc" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "trunc" [ScalarType "macaddr"]+> (ScalarType "macaddr")+> False,+> CatCreateFunction FunName "trunc" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "trunc"+> [ScalarType "numeric", ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunName "ts_debug" [ScalarType "text"]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "ts_debug"+> [ScalarType "regconfig", ScalarType "text"]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "ts_headline"+> [ScalarType "text", ScalarType "tsquery"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "ts_headline"+> [ScalarType "text", ScalarType "tsquery", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "ts_headline"+> [ScalarType "regconfig", ScalarType "text", ScalarType "tsquery"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "ts_headline"+> [ScalarType "regconfig", ScalarType "text", ScalarType "tsquery",+> ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "ts_lexize"+> [ScalarType "regdictionary", ScalarType "text"]+> (ArrayType (ScalarType "text"))+> False,+> CatCreateFunction FunName "ts_match_qv"+> [ScalarType "tsquery", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ts_match_tq"+> [ScalarType "text", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ts_match_tt"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ts_match_vq"+> [ScalarType "tsvector", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "ts_parse"+> [ScalarType "text", ScalarType "text"]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "ts_parse"+> [ScalarType "oid", ScalarType "text"]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "ts_rank"+> [ScalarType "tsvector", ScalarType "tsquery"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "ts_rank"+> [ArrayType (ScalarType "float4"), ScalarType "tsvector",+> ScalarType "tsquery"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "ts_rank"+> [ScalarType "tsvector", ScalarType "tsquery", ScalarType "int4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "ts_rank"+> [ArrayType (ScalarType "float4"), ScalarType "tsvector",+> ScalarType "tsquery", ScalarType "int4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "ts_rank_cd"+> [ScalarType "tsvector", ScalarType "tsquery"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "ts_rank_cd"+> [ArrayType (ScalarType "float4"), ScalarType "tsvector",+> ScalarType "tsquery"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "ts_rank_cd"+> [ScalarType "tsvector", ScalarType "tsquery", ScalarType "int4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "ts_rank_cd"+> [ArrayType (ScalarType "float4"), ScalarType "tsvector",+> ScalarType "tsquery", ScalarType "int4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunName "ts_rewrite"+> [ScalarType "tsquery", ScalarType "text"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "ts_rewrite"+> [ScalarType "tsquery", ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "ts_stat" [ScalarType "text"]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "ts_stat"+> [ScalarType "text", ScalarType "text"]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "ts_token_type" [ScalarType "text"]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "ts_token_type" [ScalarType "oid"]+> (SetOfType (Pseudo Record))+> False,+> CatCreateFunction FunName "ts_typanalyze" [Pseudo Internal]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsmatchjoinsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int2", Pseudo Internal]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "tsmatchsel"+> [Pseudo Internal, ScalarType "oid", Pseudo Internal,+> ScalarType "int4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "tsq_mcontained"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsq_mcontains"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsquery_and"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "tsquery_cmp"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "tsquery_eq"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsquery_ge"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsquery_gt"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsquery_le"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsquery_lt"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsquery_ne"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsquery_not" [ScalarType "tsquery"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "tsquery_or"+> [ScalarType "tsquery", ScalarType "tsquery"]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "tsqueryin" [Pseudo Cstring]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "tsqueryout" [ScalarType "tsquery"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "tsqueryrecv" [Pseudo Internal]+> (ScalarType "tsquery")+> False,+> CatCreateFunction FunName "tsquerysend" [ScalarType "tsquery"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "tsvector_cmp"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "tsvector_concat"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "tsvector")+> False,+> CatCreateFunction FunName "tsvector_eq"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsvector_ge"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsvector_gt"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsvector_le"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsvector_lt"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsvector_ne"+> [ScalarType "tsvector", ScalarType "tsvector"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "tsvector_update_trigger" []+> (Pseudo Trigger)+> False,+> CatCreateFunction FunName "tsvector_update_trigger_column" []+> (Pseudo Trigger)+> False,+> CatCreateFunction FunName "tsvectorin" [Pseudo Cstring]+> (ScalarType "tsvector")+> False,+> CatCreateFunction FunName "tsvectorout" [ScalarType "tsvector"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "tsvectorrecv" [Pseudo Internal]+> (ScalarType "tsvector")+> False,+> CatCreateFunction FunName "tsvectorsend" [ScalarType "tsvector"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "txid_current" [] (ScalarType "int8")+> False,+> CatCreateFunction FunName "txid_current_snapshot" []+> (ScalarType "txid_snapshot")+> False,+> CatCreateFunction FunName "txid_snapshot_in" [Pseudo Cstring]+> (ScalarType "txid_snapshot")+> False,+> CatCreateFunction FunName "txid_snapshot_out"+> [ScalarType "txid_snapshot"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "txid_snapshot_recv" [Pseudo Internal]+> (ScalarType "txid_snapshot")+> False,+> CatCreateFunction FunName "txid_snapshot_send"+> [ScalarType "txid_snapshot"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "txid_snapshot_xip"+> [ScalarType "txid_snapshot"]+> (SetOfType (ScalarType "int8"))+> False,+> CatCreateFunction FunName "txid_snapshot_xmax"+> [ScalarType "txid_snapshot"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "txid_snapshot_xmin"+> [ScalarType "txid_snapshot"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunName "txid_visible_in_snapshot"+> [ScalarType "int8", ScalarType "txid_snapshot"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "uhc_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "unique_key_recheck" [] (Pseudo Trigger)+> False,+> CatCreateFunction FunName "unknownin" [Pseudo Cstring]+> (ScalarType "unknown")+> False,+> CatCreateFunction FunName "unknownout" [ScalarType "unknown"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "unknownrecv" [Pseudo Internal]+> (ScalarType "unknown")+> False,+> CatCreateFunction FunName "unknownsend" [ScalarType "unknown"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "unnest" [Pseudo AnyArray]+> (SetOfType (Pseudo AnyElement))+> False,+> CatCreateFunction FunName "upper" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunName "utf8_to_ascii"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_big5"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_euc_cn"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_euc_jis_2004"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_euc_jp"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_euc_kr"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_euc_tw"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_gb18030"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_gbk"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_iso8859"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_iso8859_1"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_johab"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_koi8r"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_koi8u"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_shift_jis_2004"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_sjis"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_uhc"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "utf8_to_win"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "uuid_cmp"+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "uuid_eq"+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "uuid_ge"+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "uuid_gt"+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "uuid_hash" [ScalarType "uuid"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "uuid_in" [Pseudo Cstring]+> (ScalarType "uuid")+> False,+> CatCreateFunction FunName "uuid_le"+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "uuid_lt"+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "uuid_ne"+> [ScalarType "uuid", ScalarType "uuid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "uuid_out" [ScalarType "uuid"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "uuid_recv" [Pseudo Internal]+> (ScalarType "uuid")+> False,+> CatCreateFunction FunName "uuid_send" [ScalarType "uuid"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "varbit"+> [ScalarType "varbit", ScalarType "int4", ScalarType "bool"]+> (ScalarType "varbit")+> False,+> CatCreateFunction FunName "varbit_in"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (ScalarType "varbit")+> False,+> CatCreateFunction FunName "varbit_out" [ScalarType "varbit"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "varbit_recv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (ScalarType "varbit")+> False,+> CatCreateFunction FunName "varbit_send" [ScalarType "varbit"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "varbitcmp"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "varbiteq"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "varbitge"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "varbitgt"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "varbitle"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "varbitlt"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "varbitne"+> [ScalarType "varbit", ScalarType "varbit"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "varbittypmodin"+> [ArrayType (Pseudo Cstring)]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "varbittypmodout" [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "varchar" [ScalarType "name"]+> (ScalarType "varchar")+> False,+> CatCreateFunction FunName "varchar"+> [ScalarType "varchar", ScalarType "int4", ScalarType "bool"]+> (ScalarType "varchar")+> False,+> CatCreateFunction FunName "varcharin"+> [Pseudo Cstring, ScalarType "oid", ScalarType "int4"]+> (ScalarType "varchar")+> False,+> CatCreateFunction FunName "varcharout" [ScalarType "varchar"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "varcharrecv"+> [Pseudo Internal, ScalarType "oid", ScalarType "int4"]+> (ScalarType "varchar")+> False,+> CatCreateFunction FunName "varcharsend" [ScalarType "varchar"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "varchartypmodin"+> [ArrayType (Pseudo Cstring)]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "varchartypmodout" [ScalarType "int4"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "version" [] (ScalarType "text") False,+> CatCreateFunction FunName "void_in" [Pseudo Cstring] (Pseudo Void)+> False,+> CatCreateFunction FunName "void_out" [Pseudo Void] (Pseudo Cstring)+> False,+> CatCreateFunction FunName "void_recv" [Pseudo Internal]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "void_send" [Pseudo Void]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "width" [ScalarType "box"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunName "width_bucket"+> [ScalarType "float8", ScalarType "float8", ScalarType "float8",+> ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "width_bucket"+> [ScalarType "numeric", ScalarType "numeric", ScalarType "numeric",+> ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunName "win1250_to_latin2"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "win1250_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "win1251_to_iso"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "win1251_to_koi8r"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "win1251_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "win1251_to_win866"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "win866_to_iso"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "win866_to_koi8r"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "win866_to_mic"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "win866_to_win1251"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "win_to_utf8"+> [ScalarType "int4", ScalarType "int4", Pseudo Cstring,+> Pseudo Internal, ScalarType "int4"]+> (Pseudo Void)+> False,+> CatCreateFunction FunName "xideq"+> [ScalarType "xid", ScalarType "xid"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "xideqint4"+> [ScalarType "xid", ScalarType "int4"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "xidin" [Pseudo Cstring]+> (ScalarType "xid")+> False,+> CatCreateFunction FunName "xidout" [ScalarType "xid"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "xidrecv" [Pseudo Internal]+> (ScalarType "xid")+> False,+> CatCreateFunction FunName "xidsend" [ScalarType "xid"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "xml" [ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "xml_in" [Pseudo Cstring]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "xml_is_well_formed" [ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "xml_is_well_formed_content"+> [ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "xml_is_well_formed_document"+> [ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "xml_out" [ScalarType "xml"]+> (Pseudo Cstring)+> False,+> CatCreateFunction FunName "xml_recv" [Pseudo Internal]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "xml_send" [ScalarType "xml"]+> (ScalarType "bytea")+> False,+> CatCreateFunction FunName "xmlcomment" [ScalarType "text"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "xmlconcat2"+> [ScalarType "xml", ScalarType "xml"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunName "xmlexists"+> [ScalarType "text", ScalarType "xml"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "xmlvalidate"+> [ScalarType "xml", ScalarType "text"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "xpath"+> [ScalarType "text", ScalarType "xml"]+> (ArrayType (ScalarType "xml"))+> False,+> CatCreateFunction FunName "xpath"+> [ScalarType "text", ScalarType "xml",+> ArrayType (ScalarType "text")]+> (ArrayType (ScalarType "xml"))+> False,+> CatCreateFunction FunName "xpath_exists"+> [ScalarType "text", ScalarType "xml"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunName "xpath_exists"+> [ScalarType "text", ScalarType "xml",+> ArrayType (ScalarType "text")]+> (ScalarType "bool")+> False,+> CatCreateFunction FunAgg "array_agg" [Pseudo AnyElement]+> (Pseudo AnyArray)+> False,+> CatCreateFunction FunAgg "avg" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "avg" [ScalarType "int2"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "avg" [ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "avg" [ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "avg" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "avg" [ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunAgg "avg" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "bit_and" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunAgg "bit_and" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunAgg "bit_and" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunAgg "bit_and" [ScalarType "bit"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunAgg "bit_or" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunAgg "bit_or" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunAgg "bit_or" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunAgg "bit_or" [ScalarType "bit"]+> (ScalarType "bit")+> False,+> CatCreateFunction FunAgg "bool_and" [ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunAgg "bool_or" [ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunAgg "corr"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "count" [] (ScalarType "int8") False,+> CatCreateFunction FunAgg "count" [Pseudo Any] (ScalarType "int8")+> False,+> CatCreateFunction FunAgg "covar_pop"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "covar_samp"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "every" [ScalarType "bool"]+> (ScalarType "bool")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "oid"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "tid"]+> (ScalarType "tid")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "abstime"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "bpchar"]+> (ScalarType "bpchar")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "date"]+> (ScalarType "date")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "time"]+> (ScalarType "time")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "timestamp"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "timestamptz"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "timetz"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunAgg "max" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "max" [Pseudo AnyArray] (Pseudo AnyArray)+> False,+> CatCreateFunction FunAgg "max" [Pseudo AnyEnum] (Pseudo AnyEnum)+> False,+> CatCreateFunction FunAgg "min" [ScalarType "int8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "int2"]+> (ScalarType "int2")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "oid"]+> (ScalarType "oid")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "tid"]+> (ScalarType "tid")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "abstime"]+> (ScalarType "abstime")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "bpchar"]+> (ScalarType "bpchar")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "date"]+> (ScalarType "date")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "time"]+> (ScalarType "time")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "timestamp"]+> (ScalarType "timestamp")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "timestamptz"]+> (ScalarType "timestamptz")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "timetz"]+> (ScalarType "timetz")+> False,+> CatCreateFunction FunAgg "min" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "min" [Pseudo AnyArray] (Pseudo AnyArray)+> False,+> CatCreateFunction FunAgg "min" [Pseudo AnyEnum] (Pseudo AnyEnum)+> False,+> CatCreateFunction FunAgg "regr_avgx"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "regr_avgy"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "regr_count"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunAgg "regr_intercept"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "regr_r2"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "regr_slope"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "regr_sxx"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "regr_sxy"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "regr_syy"+> [ScalarType "float8", ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "stddev" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev" [ScalarType "int2"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev" [ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev" [ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "stddev" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "stddev" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev_pop" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev_pop" [ScalarType "int2"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev_pop" [ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev_pop" [ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "stddev_pop" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "stddev_pop" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev_samp" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev_samp" [ScalarType "int2"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev_samp" [ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "stddev_samp" [ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "stddev_samp" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "stddev_samp" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "string_agg"+> [ScalarType "text", ScalarType "text"]+> (ScalarType "text")+> False,+> CatCreateFunction FunAgg "sum" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "sum" [ScalarType "int2"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunAgg "sum" [ScalarType "int4"]+> (ScalarType "int8")+> False,+> CatCreateFunction FunAgg "sum" [ScalarType "float4"]+> (ScalarType "float4")+> False,+> CatCreateFunction FunAgg "sum" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "sum" [ScalarType "money"]+> (ScalarType "money")+> False,+> CatCreateFunction FunAgg "sum" [ScalarType "interval"]+> (ScalarType "interval")+> False,+> CatCreateFunction FunAgg "sum" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "var_pop" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "var_pop" [ScalarType "int2"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "var_pop" [ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "var_pop" [ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "var_pop" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "var_pop" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "var_samp" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "var_samp" [ScalarType "int2"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "var_samp" [ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "var_samp" [ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "var_samp" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "var_samp" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "variance" [ScalarType "int8"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "variance" [ScalarType "int2"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "variance" [ScalarType "int4"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "variance" [ScalarType "float4"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "variance" [ScalarType "float8"]+> (ScalarType "float8")+> False,+> CatCreateFunction FunAgg "variance" [ScalarType "numeric"]+> (ScalarType "numeric")+> False,+> CatCreateFunction FunAgg "xmlagg" [ScalarType "xml"]+> (ScalarType "xml")+> False,+> CatCreateFunction FunWindow "cume_dist" [] (ScalarType "float8")+> False,+> CatCreateFunction FunWindow "dense_rank" [] (ScalarType "int8")+> False,+> CatCreateFunction FunWindow "first_value" [Pseudo AnyElement]+> (Pseudo AnyElement)+> False,+> CatCreateFunction FunWindow "lag" [Pseudo AnyElement]+> (Pseudo AnyElement)+> False,+> CatCreateFunction FunWindow "lag"+> [Pseudo AnyElement, ScalarType "int4"]+> (Pseudo AnyElement)+> False,+> CatCreateFunction FunWindow "lag"+> [Pseudo AnyElement, ScalarType "int4", Pseudo AnyElement]+> (Pseudo AnyElement)+> False,+> CatCreateFunction FunWindow "last_value" [Pseudo AnyElement]+> (Pseudo AnyElement)+> False,+> CatCreateFunction FunWindow "lead" [Pseudo AnyElement]+> (Pseudo AnyElement)+> False,+> CatCreateFunction FunWindow "lead"+> [Pseudo AnyElement, ScalarType "int4"]+> (Pseudo AnyElement)+> False,+> CatCreateFunction FunWindow "lead"+> [Pseudo AnyElement, ScalarType "int4", Pseudo AnyElement]+> (Pseudo AnyElement)+> False,+> CatCreateFunction FunWindow "nth_value"+> [Pseudo AnyElement, ScalarType "int4"]+> (Pseudo AnyElement)+> False,+> CatCreateFunction FunWindow "ntile" [ScalarType "int4"]+> (ScalarType "int4")+> False,+> CatCreateFunction FunWindow "percent_rank" [] (ScalarType "float8")+> False,+> CatCreateFunction FunWindow "rank" [] (ScalarType "int8") False,+> CatCreateFunction FunWindow "row_number" [] (ScalarType "int8")+> False,+> CatCreateTable "pg_aggregate"+> [("aggfnoid", ScalarType "regproc"),+> ("aggtransfn", ScalarType "regproc"),+> ("aggfinalfn", ScalarType "regproc"),+> ("aggsortop", ScalarType "oid"),+> ("aggtranstype", ScalarType "oid"),+> ("agginitval", ScalarType "text")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_am"+> [("amname", ScalarType "name"),+> ("amstrategies", ScalarType "int2"),+> ("amsupport", ScalarType "int2"),+> ("amcanorder", ScalarType "bool"),+> ("amcanorderbyop", ScalarType "bool"),+> ("amcanbackward", ScalarType "bool"),+> ("amcanunique", ScalarType "bool"),+> ("amcanmulticol", ScalarType "bool"),+> ("amoptionalkey", ScalarType "bool"),+> ("amsearchnulls", ScalarType "bool"),+> ("amstorage", ScalarType "bool"),+> ("amclusterable", ScalarType "bool"),+> ("ampredlocks", ScalarType "bool"),+> ("amkeytype", ScalarType "oid"),+> ("aminsert", ScalarType "regproc"),+> ("ambeginscan", ScalarType "regproc"),+> ("amgettuple", ScalarType "regproc"),+> ("amgetbitmap", ScalarType "regproc"),+> ("amrescan", ScalarType "regproc"),+> ("amendscan", ScalarType "regproc"),+> ("ammarkpos", ScalarType "regproc"),+> ("amrestrpos", ScalarType "regproc"),+> ("ambuild", ScalarType "regproc"),+> ("ambuildempty", ScalarType "regproc"),+> ("ambulkdelete", ScalarType "regproc"),+> ("amvacuumcleanup", ScalarType "regproc"),+> ("amcostestimate", ScalarType "regproc"),+> ("amoptions", ScalarType "regproc")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_amop"+> [("amopfamily", ScalarType "oid"),+> ("amoplefttype", ScalarType "oid"),+> ("amoprighttype", ScalarType "oid"),+> ("amopstrategy", ScalarType "int2"),+> ("amoppurpose", ScalarType "char"), ("amopopr", ScalarType "oid"),+> ("amopmethod", ScalarType "oid"),+> ("amopsortfamily", ScalarType "oid")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_amproc"+> [("amprocfamily", ScalarType "oid"),+> ("amproclefttype", ScalarType "oid"),+> ("amprocrighttype", ScalarType "oid"),+> ("amprocnum", ScalarType "int2"), ("amproc", ScalarType "regproc")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_attrdef"+> [("adrelid", ScalarType "oid"), ("adnum", ScalarType "int2"),+> ("adbin", ScalarType "pg_node_tree"), ("adsrc", ScalarType "text")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_attribute"+> [("attrelid", ScalarType "oid"), ("attname", ScalarType "name"),+> ("atttypid", ScalarType "oid"),+> ("attstattarget", ScalarType "int4"),+> ("attlen", ScalarType "int2"), ("attnum", ScalarType "int2"),+> ("attndims", ScalarType "int4"),+> ("attcacheoff", ScalarType "int4"),+> ("atttypmod", ScalarType "int4"), ("attbyval", ScalarType "bool"),+> ("attstorage", ScalarType "char"), ("attalign", ScalarType "char"),+> ("attnotnull", ScalarType "bool"),+> ("atthasdef", ScalarType "bool"),+> ("attisdropped", ScalarType "bool"),+> ("attislocal", ScalarType "bool"),+> ("attinhcount", ScalarType "int4"),+> ("attcollation", ScalarType "oid"),+> ("attacl", ArrayType (ScalarType "aclitem")),+> ("attoptions", ArrayType (ScalarType "text"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_auth_members"+> [("roleid", ScalarType "oid"), ("member", ScalarType "oid"),+> ("grantor", ScalarType "oid"), ("admin_option", ScalarType "bool")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_authid"+> [("rolname", ScalarType "name"), ("rolsuper", ScalarType "bool"),+> ("rolinherit", ScalarType "bool"),+> ("rolcreaterole", ScalarType "bool"),+> ("rolcreatedb", ScalarType "bool"),+> ("rolcatupdate", ScalarType "bool"),+> ("rolcanlogin", ScalarType "bool"),+> ("rolreplication", ScalarType "bool"),+> ("rolconnlimit", ScalarType "int4"),+> ("rolpassword", ScalarType "text"),+> ("rolvaliduntil", ScalarType "timestamptz")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_cast"+> [("castsource", ScalarType "oid"),+> ("casttarget", ScalarType "oid"), ("castfunc", ScalarType "oid"),+> ("castcontext", ScalarType "char"),+> ("castmethod", ScalarType "char")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_class"+> [("relname", ScalarType "name"),+> ("relnamespace", ScalarType "oid"), ("reltype", ScalarType "oid"),+> ("reloftype", ScalarType "oid"), ("relowner", ScalarType "oid"),+> ("relam", ScalarType "oid"), ("relfilenode", ScalarType "oid"),+> ("reltablespace", ScalarType "oid"),+> ("relpages", ScalarType "int4"),+> ("reltuples", ScalarType "float4"),+> ("reltoastrelid", ScalarType "oid"),+> ("reltoastidxid", ScalarType "oid"),+> ("relhasindex", ScalarType "bool"),+> ("relisshared", ScalarType "bool"),+> ("relpersistence", ScalarType "char"),+> ("relkind", ScalarType "char"), ("relnatts", ScalarType "int2"),+> ("relchecks", ScalarType "int2"),+> ("relhasoids", ScalarType "bool"),+> ("relhaspkey", ScalarType "bool"),+> ("relhasrules", ScalarType "bool"),+> ("relhastriggers", ScalarType "bool"),+> ("relhassubclass", ScalarType "bool"),+> ("relfrozenxid", ScalarType "xid"),+> ("relacl", ArrayType (ScalarType "aclitem")),+> ("reloptions", ArrayType (ScalarType "text"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_collation"+> [("collname", ScalarType "name"),+> ("collnamespace", ScalarType "oid"),+> ("collowner", ScalarType "oid"),+> ("collencoding", ScalarType "int4"),+> ("collcollate", ScalarType "name"),+> ("collctype", ScalarType "name")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_constraint"+> [("conname", ScalarType "name"),+> ("connamespace", ScalarType "oid"), ("contype", ScalarType "char"),+> ("condeferrable", ScalarType "bool"),+> ("condeferred", ScalarType "bool"),+> ("convalidated", ScalarType "bool"),+> ("conrelid", ScalarType "oid"), ("contypid", ScalarType "oid"),+> ("conindid", ScalarType "oid"), ("confrelid", ScalarType "oid"),+> ("confupdtype", ScalarType "char"),+> ("confdeltype", ScalarType "char"),+> ("confmatchtype", ScalarType "char"),+> ("conislocal", ScalarType "bool"),+> ("coninhcount", ScalarType "int4"),+> ("conkey", ArrayType (ScalarType "int2")),+> ("confkey", ArrayType (ScalarType "int2")),+> ("conpfeqop", ArrayType (ScalarType "oid")),+> ("conppeqop", ArrayType (ScalarType "oid")),+> ("conffeqop", ArrayType (ScalarType "oid")),+> ("conexclop", ArrayType (ScalarType "oid")),+> ("conbin", ScalarType "pg_node_tree"),+> ("consrc", ScalarType "text")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_conversion"+> [("conname", ScalarType "name"),+> ("connamespace", ScalarType "oid"), ("conowner", ScalarType "oid"),+> ("conforencoding", ScalarType "int4"),+> ("contoencoding", ScalarType "int4"),+> ("conproc", ScalarType "regproc"),+> ("condefault", ScalarType "bool")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_database"+> [("datname", ScalarType "name"), ("datdba", ScalarType "oid"),+> ("encoding", ScalarType "int4"), ("datcollate", ScalarType "name"),+> ("datctype", ScalarType "name"),+> ("datistemplate", ScalarType "bool"),+> ("datallowconn", ScalarType "bool"),+> ("datconnlimit", ScalarType "int4"),+> ("datlastsysoid", ScalarType "oid"),+> ("datfrozenxid", ScalarType "xid"),+> ("dattablespace", ScalarType "oid"),+> ("datacl", ArrayType (ScalarType "aclitem"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_db_role_setting"+> [("setdatabase", ScalarType "oid"), ("setrole", ScalarType "oid"),+> ("setconfig", ArrayType (ScalarType "text"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_default_acl"+> [("defaclrole", ScalarType "oid"),+> ("defaclnamespace", ScalarType "oid"),+> ("defaclobjtype", ScalarType "char"),+> ("defaclacl", ArrayType (ScalarType "aclitem"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_depend"+> [("classid", ScalarType "oid"), ("objid", ScalarType "oid"),+> ("objsubid", ScalarType "int4"), ("refclassid", ScalarType "oid"),+> ("refobjid", ScalarType "oid"), ("refobjsubid", ScalarType "int4"),+> ("deptype", ScalarType "char")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_description"+> [("objoid", ScalarType "oid"), ("classoid", ScalarType "oid"),+> ("objsubid", ScalarType "int4"),+> ("description", ScalarType "text")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_enum"+> [("enumtypid", ScalarType "oid"),+> ("enumsortorder", ScalarType "float4"),+> ("enumlabel", ScalarType "name")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_extension"+> [("extname", ScalarType "name"), ("extowner", ScalarType "oid"),+> ("extnamespace", ScalarType "oid"),+> ("extrelocatable", ScalarType "bool"),+> ("extversion", ScalarType "text"),+> ("extconfig", ArrayType (ScalarType "oid")),+> ("extcondition", ArrayType (ScalarType "text"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_foreign_data_wrapper"+> [("fdwname", ScalarType "name"), ("fdwowner", ScalarType "oid"),+> ("fdwhandler", ScalarType "oid"),+> ("fdwvalidator", ScalarType "oid"),+> ("fdwacl", ArrayType (ScalarType "aclitem")),+> ("fdwoptions", ArrayType (ScalarType "text"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_foreign_server"+> [("srvname", ScalarType "name"), ("srvowner", ScalarType "oid"),+> ("srvfdw", ScalarType "oid"), ("srvtype", ScalarType "text"),+> ("srvversion", ScalarType "text"),+> ("srvacl", ArrayType (ScalarType "aclitem")),+> ("srvoptions", ArrayType (ScalarType "text"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_foreign_table"+> [("ftrelid", ScalarType "oid"), ("ftserver", ScalarType "oid"),+> ("ftoptions", ArrayType (ScalarType "text"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_index"+> [("indexrelid", ScalarType "oid"), ("indrelid", ScalarType "oid"),+> ("indnatts", ScalarType "int2"),+> ("indisunique", ScalarType "bool"),+> ("indisprimary", ScalarType "bool"),+> ("indisexclusion", ScalarType "bool"),+> ("indimmediate", ScalarType "bool"),+> ("indisclustered", ScalarType "bool"),+> ("indisvalid", ScalarType "bool"),+> ("indcheckxmin", ScalarType "bool"),+> ("indisready", ScalarType "bool"),+> ("indkey", ScalarType "int2vector"),+> ("indcollation", ScalarType "oidvector"),+> ("indclass", ScalarType "oidvector"),+> ("indoption", ScalarType "int2vector"),+> ("indexprs", ScalarType "pg_node_tree"),+> ("indpred", ScalarType "pg_node_tree")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_inherits"+> [("inhrelid", ScalarType "oid"), ("inhparent", ScalarType "oid"),+> ("inhseqno", ScalarType "int4")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_language"+> [("lanname", ScalarType "name"), ("lanowner", ScalarType "oid"),+> ("lanispl", ScalarType "bool"),+> ("lanpltrusted", ScalarType "bool"),+> ("lanplcallfoid", ScalarType "oid"),+> ("laninline", ScalarType "oid"),+> ("lanvalidator", ScalarType "oid"),+> ("lanacl", ArrayType (ScalarType "aclitem"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_largeobject"+> [("loid", ScalarType "oid"), ("pageno", ScalarType "int4"),+> ("data", ScalarType "bytea")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_largeobject_metadata"+> [("lomowner", ScalarType "oid"),+> ("lomacl", ArrayType (ScalarType "aclitem"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_namespace"+> [("nspname", ScalarType "name"), ("nspowner", ScalarType "oid"),+> ("nspacl", ArrayType (ScalarType "aclitem"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_opclass"+> [("opcmethod", ScalarType "oid"), ("opcname", ScalarType "name"),+> ("opcnamespace", ScalarType "oid"), ("opcowner", ScalarType "oid"),+> ("opcfamily", ScalarType "oid"), ("opcintype", ScalarType "oid"),+> ("opcdefault", ScalarType "bool"),+> ("opckeytype", ScalarType "oid")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_operator"+> [("oprname", ScalarType "name"),+> ("oprnamespace", ScalarType "oid"), ("oprowner", ScalarType "oid"),+> ("oprkind", ScalarType "char"), ("oprcanmerge", ScalarType "bool"),+> ("oprcanhash", ScalarType "bool"), ("oprleft", ScalarType "oid"),+> ("oprright", ScalarType "oid"), ("oprresult", ScalarType "oid"),+> ("oprcom", ScalarType "oid"), ("oprnegate", ScalarType "oid"),+> ("oprcode", ScalarType "regproc"),+> ("oprrest", ScalarType "regproc"),+> ("oprjoin", ScalarType "regproc")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_opfamily"+> [("opfmethod", ScalarType "oid"), ("opfname", ScalarType "name"),+> ("opfnamespace", ScalarType "oid"), ("opfowner", ScalarType "oid")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_pltemplate"+> [("tmplname", ScalarType "name"),+> ("tmpltrusted", ScalarType "bool"),+> ("tmpldbacreate", ScalarType "bool"),+> ("tmplhandler", ScalarType "text"),+> ("tmplinline", ScalarType "text"),+> ("tmplvalidator", ScalarType "text"),+> ("tmpllibrary", ScalarType "text"),+> ("tmplacl", ArrayType (ScalarType "aclitem"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_proc"+> [("proname", ScalarType "name"),+> ("pronamespace", ScalarType "oid"), ("proowner", ScalarType "oid"),+> ("prolang", ScalarType "oid"), ("procost", ScalarType "float4"),+> ("prorows", ScalarType "float4"),+> ("provariadic", ScalarType "oid"), ("proisagg", ScalarType "bool"),+> ("proiswindow", ScalarType "bool"),+> ("prosecdef", ScalarType "bool"),+> ("proisstrict", ScalarType "bool"),+> ("proretset", ScalarType "bool"),+> ("provolatile", ScalarType "char"),+> ("pronargs", ScalarType "int2"),+> ("pronargdefaults", ScalarType "int2"),+> ("prorettype", ScalarType "oid"),+> ("proargtypes", ScalarType "oidvector"),+> ("proallargtypes", ArrayType (ScalarType "oid")),+> ("proargmodes", ArrayType (ScalarType "char")),+> ("proargnames", ArrayType (ScalarType "text")),+> ("proargdefaults", ScalarType "pg_node_tree"),+> ("prosrc", ScalarType "text"), ("probin", ScalarType "text"),+> ("proconfig", ArrayType (ScalarType "text")),+> ("proacl", ArrayType (ScalarType "aclitem"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_rewrite"+> [("rulename", ScalarType "name"), ("ev_class", ScalarType "oid"),+> ("ev_attr", ScalarType "int2"), ("ev_type", ScalarType "char"),+> ("ev_enabled", ScalarType "char"),+> ("is_instead", ScalarType "bool"),+> ("ev_qual", ScalarType "pg_node_tree"),+> ("ev_action", ScalarType "pg_node_tree")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_seclabel"+> [("objoid", ScalarType "oid"), ("classoid", ScalarType "oid"),+> ("objsubid", ScalarType "int4"), ("provider", ScalarType "text"),+> ("label", ScalarType "text")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_shdepend"+> [("dbid", ScalarType "oid"), ("classid", ScalarType "oid"),+> ("objid", ScalarType "oid"), ("objsubid", ScalarType "int4"),+> ("refclassid", ScalarType "oid"), ("refobjid", ScalarType "oid"),+> ("deptype", ScalarType "char")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_shdescription"+> [("objoid", ScalarType "oid"), ("classoid", ScalarType "oid"),+> ("description", ScalarType "text")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_statistic"+> [("starelid", ScalarType "oid"), ("staattnum", ScalarType "int2"),+> ("stainherit", ScalarType "bool"),+> ("stanullfrac", ScalarType "float4"),+> ("stawidth", ScalarType "int4"),+> ("stadistinct", ScalarType "float4"),+> ("stakind1", ScalarType "int2"), ("stakind2", ScalarType "int2"),+> ("stakind3", ScalarType "int2"), ("stakind4", ScalarType "int2"),+> ("staop1", ScalarType "oid"), ("staop2", ScalarType "oid"),+> ("staop3", ScalarType "oid"), ("staop4", ScalarType "oid"),+> ("stanumbers1", ArrayType (ScalarType "float4")),+> ("stanumbers2", ArrayType (ScalarType "float4")),+> ("stanumbers3", ArrayType (ScalarType "float4")),+> ("stanumbers4", ArrayType (ScalarType "float4")),+> ("stavalues1", Pseudo AnyArray), ("stavalues2", Pseudo AnyArray),+> ("stavalues3", Pseudo AnyArray), ("stavalues4", Pseudo AnyArray)]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_tablespace"+> [("spcname", ScalarType "name"), ("spcowner", ScalarType "oid"),+> ("spclocation", ScalarType "text"),+> ("spcacl", ArrayType (ScalarType "aclitem")),+> ("spcoptions", ArrayType (ScalarType "text"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_trigger"+> [("tgrelid", ScalarType "oid"), ("tgname", ScalarType "name"),+> ("tgfoid", ScalarType "oid"), ("tgtype", ScalarType "int2"),+> ("tgenabled", ScalarType "char"),+> ("tgisinternal", ScalarType "bool"),+> ("tgconstrrelid", ScalarType "oid"),+> ("tgconstrindid", ScalarType "oid"),+> ("tgconstraint", ScalarType "oid"),+> ("tgdeferrable", ScalarType "bool"),+> ("tginitdeferred", ScalarType "bool"),+> ("tgnargs", ScalarType "int2"),+> ("tgattr", ScalarType "int2vector"),+> ("tgargs", ScalarType "bytea"),+> ("tgqual", ScalarType "pg_node_tree")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_ts_config"+> [("cfgname", ScalarType "name"),+> ("cfgnamespace", ScalarType "oid"), ("cfgowner", ScalarType "oid"),+> ("cfgparser", ScalarType "oid")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_ts_config_map"+> [("mapcfg", ScalarType "oid"), ("maptokentype", ScalarType "int4"),+> ("mapseqno", ScalarType "int4"), ("mapdict", ScalarType "oid")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "pg_ts_dict"+> [("dictname", ScalarType "name"),+> ("dictnamespace", ScalarType "oid"),+> ("dictowner", ScalarType "oid"),+> ("dicttemplate", ScalarType "oid"),+> ("dictinitoption", ScalarType "text")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_ts_parser"+> [("prsname", ScalarType "name"),+> ("prsnamespace", ScalarType "oid"),+> ("prsstart", ScalarType "regproc"),+> ("prstoken", ScalarType "regproc"),+> ("prsend", ScalarType "regproc"),+> ("prsheadline", ScalarType "regproc"),+> ("prslextype", ScalarType "regproc")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_ts_template"+> [("tmplname", ScalarType "name"),+> ("tmplnamespace", ScalarType "oid"),+> ("tmplinit", ScalarType "regproc"),+> ("tmpllexize", ScalarType "regproc")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_type"+> [("typname", ScalarType "name"),+> ("typnamespace", ScalarType "oid"), ("typowner", ScalarType "oid"),+> ("typlen", ScalarType "int2"), ("typbyval", ScalarType "bool"),+> ("typtype", ScalarType "char"), ("typcategory", ScalarType "char"),+> ("typispreferred", ScalarType "bool"),+> ("typisdefined", ScalarType "bool"),+> ("typdelim", ScalarType "char"), ("typrelid", ScalarType "oid"),+> ("typelem", ScalarType "oid"), ("typarray", ScalarType "oid"),+> ("typinput", ScalarType "regproc"),+> ("typoutput", ScalarType "regproc"),+> ("typreceive", ScalarType "regproc"),+> ("typsend", ScalarType "regproc"),+> ("typmodin", ScalarType "regproc"),+> ("typmodout", ScalarType "regproc"),+> ("typanalyze", ScalarType "regproc"),+> ("typalign", ScalarType "char"), ("typstorage", ScalarType "char"),+> ("typnotnull", ScalarType "bool"),+> ("typbasetype", ScalarType "oid"),+> ("typtypmod", ScalarType "int4"), ("typndims", ScalarType "int4"),+> ("typcollation", ScalarType "oid"),+> ("typdefaultbin", ScalarType "pg_node_tree"),+> ("typdefault", ScalarType "text")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "pg_user_mapping"+> [("umuser", ScalarType "oid"), ("umserver", ScalarType "oid"),+> ("umoptions", ArrayType (ScalarType "text"))]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("oid", ScalarType "oid"),+> ("ctid", ScalarType "tid")],+> CatCreateTable "information_schema.sql_features"+> [("feature_id", DomainType "information_schema.character_data"),+> ("feature_name", DomainType "information_schema.character_data"),+> ("sub_feature_id", DomainType "information_schema.character_data"),+> ("sub_feature_name",+> DomainType "information_schema.character_data"),+> ("is_supported", DomainType "information_schema.yes_or_no"),+> ("is_verified_by", DomainType "information_schema.character_data"),+> ("comments", DomainType "information_schema.character_data")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "information_schema.sql_implementation_info"+> [("implementation_info_id",+> DomainType "information_schema.character_data"),+> ("implementation_info_name",+> DomainType "information_schema.character_data"),+> ("integer_value", DomainType "information_schema.cardinal_number"),+> ("character_value",+> DomainType "information_schema.character_data"),+> ("comments", DomainType "information_schema.character_data")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "information_schema.sql_languages"+> [("sql_language_source",+> DomainType "information_schema.character_data"),+> ("sql_language_year",+> DomainType "information_schema.character_data"),+> ("sql_language_conformance",+> DomainType "information_schema.character_data"),+> ("sql_language_integrity",+> DomainType "information_schema.character_data"),+> ("sql_language_implementation",+> DomainType "information_schema.character_data"),+> ("sql_language_binding_style",+> DomainType "information_schema.character_data"),+> ("sql_language_programming_language",+> DomainType "information_schema.character_data")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "information_schema.sql_packages"+> [("feature_id", DomainType "information_schema.character_data"),+> ("feature_name", DomainType "information_schema.character_data"),+> ("is_supported", DomainType "information_schema.yes_or_no"),+> ("is_verified_by", DomainType "information_schema.character_data"),+> ("comments", DomainType "information_schema.character_data")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "information_schema.sql_parts"+> [("feature_id", DomainType "information_schema.character_data"),+> ("feature_name", DomainType "information_schema.character_data"),+> ("is_supported", DomainType "information_schema.yes_or_no"),+> ("is_verified_by", DomainType "information_schema.character_data"),+> ("comments", DomainType "information_schema.character_data")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "information_schema.sql_sizing"+> [("sizing_id", DomainType "information_schema.cardinal_number"),+> ("sizing_name", DomainType "information_schema.character_data"),+> ("supported_value",+> DomainType "information_schema.cardinal_number"),+> ("comments", DomainType "information_schema.character_data")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateTable "information_schema.sql_sizing_profiles"+> [("sizing_id", DomainType "information_schema.cardinal_number"),+> ("sizing_name", DomainType "information_schema.character_data"),+> ("profile_id", DomainType "information_schema.character_data"),+> ("required_value",+> DomainType "information_schema.cardinal_number"),+> ("comments", DomainType "information_schema.character_data")]+> [("tableoid", ScalarType "oid"), ("cmax", ScalarType "cid"),+> ("xmax", ScalarType "xid"), ("cmin", ScalarType "cid"),+> ("xmin", ScalarType "xid"), ("ctid", ScalarType "tid")],+> CatCreateView "information_schema._pg_foreign_data_wrappers"+> [("oid", ScalarType "oid"), ("fdwowner", ScalarType "oid"),+> ("fdwoptions", ArrayType (ScalarType "text")),+> ("foreign_data_wrapper_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_data_wrapper_name",+> DomainType "information_schema.sql_identifier"),+> ("authorization_identifier",+> DomainType "information_schema.sql_identifier"),+> ("foreign_data_wrapper_language",+> DomainType "information_schema.character_data")],+> CatCreateView "information_schema._pg_foreign_servers"+> [("oid", ScalarType "oid"),+> ("srvoptions", ArrayType (ScalarType "text")),+> ("foreign_server_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_name",+> DomainType "information_schema.sql_identifier"),+> ("foreign_data_wrapper_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_data_wrapper_name",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_type",+> DomainType "information_schema.character_data"),+> ("foreign_server_version",+> DomainType "information_schema.character_data"),+> ("authorization_identifier",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema._pg_foreign_tables"+> [("foreign_table_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_table_schema", ScalarType "name"),+> ("foreign_table_name", ScalarType "name"),+> ("ftoptions", ArrayType (ScalarType "text")),+> ("foreign_server_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_name",+> DomainType "information_schema.sql_identifier"),+> ("authorization_identifier",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema._pg_user_mappings"+> [("oid", ScalarType "oid"),+> ("umoptions", ArrayType (ScalarType "text")),+> ("umuser", ScalarType "oid"),+> ("authorization_identifier",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_name",+> DomainType "information_schema.sql_identifier"),+> ("srvowner", DomainType "information_schema.sql_identifier")],+> CatCreateView+> "information_schema.administrable_role_authorizations"+> [("grantee", DomainType "information_schema.sql_identifier"),+> ("role_name", DomainType "information_schema.sql_identifier"),+> ("is_grantable", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.applicable_roles"+> [("grantee", DomainType "information_schema.sql_identifier"),+> ("role_name", DomainType "information_schema.sql_identifier"),+> ("is_grantable", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.attributes"+> [("udt_catalog", DomainType "information_schema.sql_identifier"),+> ("udt_schema", DomainType "information_schema.sql_identifier"),+> ("udt_name", DomainType "information_schema.sql_identifier"),+> ("attribute_name", DomainType "information_schema.sql_identifier"),+> ("ordinal_position",+> DomainType "information_schema.cardinal_number"),+> ("attribute_default",+> DomainType "information_schema.character_data"),+> ("is_nullable", DomainType "information_schema.yes_or_no"),+> ("data_type", DomainType "information_schema.character_data"),+> ("character_maximum_length",+> DomainType "information_schema.cardinal_number"),+> ("character_octet_length",+> DomainType "information_schema.cardinal_number"),+> ("character_set_catalog",+> DomainType "information_schema.sql_identifier"),+> ("character_set_schema",+> DomainType "information_schema.sql_identifier"),+> ("character_set_name",+> DomainType "information_schema.sql_identifier"),+> ("collation_catalog",+> DomainType "information_schema.sql_identifier"),+> ("collation_schema",+> DomainType "information_schema.sql_identifier"),+> ("collation_name", DomainType "information_schema.sql_identifier"),+> ("numeric_precision",+> DomainType "information_schema.cardinal_number"),+> ("numeric_precision_radix",+> DomainType "information_schema.cardinal_number"),+> ("numeric_scale", DomainType "information_schema.cardinal_number"),+> ("datetime_precision",+> DomainType "information_schema.cardinal_number"),+> ("interval_type", DomainType "information_schema.character_data"),+> ("interval_precision",+> DomainType "information_schema.character_data"),+> ("attribute_udt_catalog",+> DomainType "information_schema.sql_identifier"),+> ("attribute_udt_schema",+> DomainType "information_schema.sql_identifier"),+> ("attribute_udt_name",+> DomainType "information_schema.sql_identifier"),+> ("scope_catalog", DomainType "information_schema.sql_identifier"),+> ("scope_schema", DomainType "information_schema.sql_identifier"),+> ("scope_name", DomainType "information_schema.sql_identifier"),+> ("maximum_cardinality",+> DomainType "information_schema.cardinal_number"),+> ("dtd_identifier", DomainType "information_schema.sql_identifier"),+> ("is_derived_reference_attribute",+> DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.character_sets"+> [("character_set_catalog",+> DomainType "information_schema.sql_identifier"),+> ("character_set_schema",+> DomainType "information_schema.sql_identifier"),+> ("character_set_name",+> DomainType "information_schema.sql_identifier"),+> ("character_repertoire",+> DomainType "information_schema.sql_identifier"),+> ("form_of_use", DomainType "information_schema.sql_identifier"),+> ("default_collate_catalog",+> DomainType "information_schema.sql_identifier"),+> ("default_collate_schema",+> DomainType "information_schema.sql_identifier"),+> ("default_collate_name",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.check_constraint_routine_usage"+> [("constraint_catalog",+> DomainType "information_schema.sql_identifier"),+> ("constraint_schema",+> DomainType "information_schema.sql_identifier"),+> ("constraint_name",+> DomainType "information_schema.sql_identifier"),+> ("specific_catalog",+> DomainType "information_schema.sql_identifier"),+> ("specific_schema",+> DomainType "information_schema.sql_identifier"),+> ("specific_name", DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.check_constraints"+> [("constraint_catalog",+> DomainType "information_schema.sql_identifier"),+> ("constraint_schema",+> DomainType "information_schema.sql_identifier"),+> ("constraint_name",+> DomainType "information_schema.sql_identifier"),+> ("check_clause", DomainType "information_schema.character_data")],+> CatCreateView+> "information_schema.collation_character_set_applicability"+> [("collation_catalog",+> DomainType "information_schema.sql_identifier"),+> ("collation_schema",+> DomainType "information_schema.sql_identifier"),+> ("collation_name", DomainType "information_schema.sql_identifier"),+> ("character_set_catalog",+> DomainType "information_schema.sql_identifier"),+> ("character_set_schema",+> DomainType "information_schema.sql_identifier"),+> ("character_set_name",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.collations"+> [("collation_catalog",+> DomainType "information_schema.sql_identifier"),+> ("collation_schema",+> DomainType "information_schema.sql_identifier"),+> ("collation_name", DomainType "information_schema.sql_identifier"),+> ("pad_attribute", DomainType "information_schema.character_data")],+> CatCreateView "information_schema.column_domain_usage"+> [("domain_catalog",+> DomainType "information_schema.sql_identifier"),+> ("domain_schema", DomainType "information_schema.sql_identifier"),+> ("domain_name", DomainType "information_schema.sql_identifier"),+> ("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("column_name", DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.column_privileges"+> [("grantor", DomainType "information_schema.sql_identifier"),+> ("grantee", DomainType "information_schema.sql_identifier"),+> ("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("column_name", DomainType "information_schema.sql_identifier"),+> ("privilege_type", DomainType "information_schema.character_data"),+> ("is_grantable", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.column_udt_usage"+> [("udt_catalog", DomainType "information_schema.sql_identifier"),+> ("udt_schema", DomainType "information_schema.sql_identifier"),+> ("udt_name", DomainType "information_schema.sql_identifier"),+> ("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("column_name", DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.columns"+> [("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("column_name", DomainType "information_schema.sql_identifier"),+> ("ordinal_position",+> DomainType "information_schema.cardinal_number"),+> ("column_default", DomainType "information_schema.character_data"),+> ("is_nullable", DomainType "information_schema.yes_or_no"),+> ("data_type", DomainType "information_schema.character_data"),+> ("character_maximum_length",+> DomainType "information_schema.cardinal_number"),+> ("character_octet_length",+> DomainType "information_schema.cardinal_number"),+> ("numeric_precision",+> DomainType "information_schema.cardinal_number"),+> ("numeric_precision_radix",+> DomainType "information_schema.cardinal_number"),+> ("numeric_scale", DomainType "information_schema.cardinal_number"),+> ("datetime_precision",+> DomainType "information_schema.cardinal_number"),+> ("interval_type", DomainType "information_schema.character_data"),+> ("interval_precision",+> DomainType "information_schema.character_data"),+> ("character_set_catalog",+> DomainType "information_schema.sql_identifier"),+> ("character_set_schema",+> DomainType "information_schema.sql_identifier"),+> ("character_set_name",+> DomainType "information_schema.sql_identifier"),+> ("collation_catalog",+> DomainType "information_schema.sql_identifier"),+> ("collation_schema",+> DomainType "information_schema.sql_identifier"),+> ("collation_name", DomainType "information_schema.sql_identifier"),+> ("domain_catalog", DomainType "information_schema.sql_identifier"),+> ("domain_schema", DomainType "information_schema.sql_identifier"),+> ("domain_name", DomainType "information_schema.sql_identifier"),+> ("udt_catalog", DomainType "information_schema.sql_identifier"),+> ("udt_schema", DomainType "information_schema.sql_identifier"),+> ("udt_name", DomainType "information_schema.sql_identifier"),+> ("scope_catalog", DomainType "information_schema.sql_identifier"),+> ("scope_schema", DomainType "information_schema.sql_identifier"),+> ("scope_name", DomainType "information_schema.sql_identifier"),+> ("maximum_cardinality",+> DomainType "information_schema.cardinal_number"),+> ("dtd_identifier", DomainType "information_schema.sql_identifier"),+> ("is_self_referencing", DomainType "information_schema.yes_or_no"),+> ("is_identity", DomainType "information_schema.yes_or_no"),+> ("identity_generation",+> DomainType "information_schema.character_data"),+> ("identity_start", DomainType "information_schema.character_data"),+> ("identity_increment",+> DomainType "information_schema.character_data"),+> ("identity_maximum",+> DomainType "information_schema.character_data"),+> ("identity_minimum",+> DomainType "information_schema.character_data"),+> ("identity_cycle", DomainType "information_schema.yes_or_no"),+> ("is_generated", DomainType "information_schema.character_data"),+> ("generation_expression",+> DomainType "information_schema.character_data"),+> ("is_updatable", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.constraint_column_usage"+> [("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("column_name", DomainType "information_schema.sql_identifier"),+> ("constraint_catalog",+> DomainType "information_schema.sql_identifier"),+> ("constraint_schema",+> DomainType "information_schema.sql_identifier"),+> ("constraint_name",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.constraint_table_usage"+> [("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("constraint_catalog",+> DomainType "information_schema.sql_identifier"),+> ("constraint_schema",+> DomainType "information_schema.sql_identifier"),+> ("constraint_name",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.data_type_privileges"+> [("object_catalog",+> DomainType "information_schema.sql_identifier"),+> ("object_schema", DomainType "information_schema.sql_identifier"),+> ("object_name", DomainType "information_schema.sql_identifier"),+> ("object_type", DomainType "information_schema.character_data"),+> ("dtd_identifier",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.domain_constraints"+> [("constraint_catalog",+> DomainType "information_schema.sql_identifier"),+> ("constraint_schema",+> DomainType "information_schema.sql_identifier"),+> ("constraint_name",+> DomainType "information_schema.sql_identifier"),+> ("domain_catalog", DomainType "information_schema.sql_identifier"),+> ("domain_schema", DomainType "information_schema.sql_identifier"),+> ("domain_name", DomainType "information_schema.sql_identifier"),+> ("is_deferrable", DomainType "information_schema.yes_or_no"),+> ("initially_deferred", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.domain_udt_usage"+> [("udt_catalog", DomainType "information_schema.sql_identifier"),+> ("udt_schema", DomainType "information_schema.sql_identifier"),+> ("udt_name", DomainType "information_schema.sql_identifier"),+> ("domain_catalog", DomainType "information_schema.sql_identifier"),+> ("domain_schema", DomainType "information_schema.sql_identifier"),+> ("domain_name", DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.domains"+> [("domain_catalog",+> DomainType "information_schema.sql_identifier"),+> ("domain_schema", DomainType "information_schema.sql_identifier"),+> ("domain_name", DomainType "information_schema.sql_identifier"),+> ("data_type", DomainType "information_schema.character_data"),+> ("character_maximum_length",+> DomainType "information_schema.cardinal_number"),+> ("character_octet_length",+> DomainType "information_schema.cardinal_number"),+> ("character_set_catalog",+> DomainType "information_schema.sql_identifier"),+> ("character_set_schema",+> DomainType "information_schema.sql_identifier"),+> ("character_set_name",+> DomainType "information_schema.sql_identifier"),+> ("collation_catalog",+> DomainType "information_schema.sql_identifier"),+> ("collation_schema",+> DomainType "information_schema.sql_identifier"),+> ("collation_name", DomainType "information_schema.sql_identifier"),+> ("numeric_precision",+> DomainType "information_schema.cardinal_number"),+> ("numeric_precision_radix",+> DomainType "information_schema.cardinal_number"),+> ("numeric_scale", DomainType "information_schema.cardinal_number"),+> ("datetime_precision",+> DomainType "information_schema.cardinal_number"),+> ("interval_type", DomainType "information_schema.character_data"),+> ("interval_precision",+> DomainType "information_schema.character_data"),+> ("domain_default", DomainType "information_schema.character_data"),+> ("udt_catalog", DomainType "information_schema.sql_identifier"),+> ("udt_schema", DomainType "information_schema.sql_identifier"),+> ("udt_name", DomainType "information_schema.sql_identifier"),+> ("scope_catalog", DomainType "information_schema.sql_identifier"),+> ("scope_schema", DomainType "information_schema.sql_identifier"),+> ("scope_name", DomainType "information_schema.sql_identifier"),+> ("maximum_cardinality",+> DomainType "information_schema.cardinal_number"),+> ("dtd_identifier",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.element_types"+> [("object_catalog",+> DomainType "information_schema.sql_identifier"),+> ("object_schema", DomainType "information_schema.sql_identifier"),+> ("object_name", DomainType "information_schema.sql_identifier"),+> ("object_type", DomainType "information_schema.character_data"),+> ("collection_type_identifier",+> DomainType "information_schema.sql_identifier"),+> ("data_type", DomainType "information_schema.character_data"),+> ("character_maximum_length",+> DomainType "information_schema.cardinal_number"),+> ("character_octet_length",+> DomainType "information_schema.cardinal_number"),+> ("character_set_catalog",+> DomainType "information_schema.sql_identifier"),+> ("character_set_schema",+> DomainType "information_schema.sql_identifier"),+> ("character_set_name",+> DomainType "information_schema.sql_identifier"),+> ("collation_catalog",+> DomainType "information_schema.sql_identifier"),+> ("collation_schema",+> DomainType "information_schema.sql_identifier"),+> ("collation_name", DomainType "information_schema.sql_identifier"),+> ("numeric_precision",+> DomainType "information_schema.cardinal_number"),+> ("numeric_precision_radix",+> DomainType "information_schema.cardinal_number"),+> ("numeric_scale", DomainType "information_schema.cardinal_number"),+> ("datetime_precision",+> DomainType "information_schema.cardinal_number"),+> ("interval_type", DomainType "information_schema.character_data"),+> ("interval_precision",+> DomainType "information_schema.character_data"),+> ("domain_default", DomainType "information_schema.character_data"),+> ("udt_catalog", DomainType "information_schema.sql_identifier"),+> ("udt_schema", DomainType "information_schema.sql_identifier"),+> ("udt_name", DomainType "information_schema.sql_identifier"),+> ("scope_catalog", DomainType "information_schema.sql_identifier"),+> ("scope_schema", DomainType "information_schema.sql_identifier"),+> ("scope_name", DomainType "information_schema.sql_identifier"),+> ("maximum_cardinality",+> DomainType "information_schema.cardinal_number"),+> ("dtd_identifier",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.enabled_roles"+> [("role_name", DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.foreign_data_wrapper_options"+> [("foreign_data_wrapper_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_data_wrapper_name",+> DomainType "information_schema.sql_identifier"),+> ("option_name", DomainType "information_schema.sql_identifier"),+> ("option_value", DomainType "information_schema.character_data")],+> CatCreateView "information_schema.foreign_data_wrappers"+> [("foreign_data_wrapper_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_data_wrapper_name",+> DomainType "information_schema.sql_identifier"),+> ("authorization_identifier",+> DomainType "information_schema.sql_identifier"),+> ("library_name", DomainType "information_schema.character_data"),+> ("foreign_data_wrapper_language",+> DomainType "information_schema.character_data")],+> CatCreateView "information_schema.foreign_server_options"+> [("foreign_server_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_name",+> DomainType "information_schema.sql_identifier"),+> ("option_name", DomainType "information_schema.sql_identifier"),+> ("option_value", DomainType "information_schema.character_data")],+> CatCreateView "information_schema.foreign_servers"+> [("foreign_server_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_name",+> DomainType "information_schema.sql_identifier"),+> ("foreign_data_wrapper_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_data_wrapper_name",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_type",+> DomainType "information_schema.character_data"),+> ("foreign_server_version",+> DomainType "information_schema.character_data"),+> ("authorization_identifier",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.foreign_table_options"+> [("foreign_table_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_table_schema", ScalarType "name"),+> ("foreign_table_name", ScalarType "name"),+> ("option_name", DomainType "information_schema.sql_identifier"),+> ("option_value", DomainType "information_schema.character_data")],+> CatCreateView "information_schema.foreign_tables"+> [("foreign_table_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_table_schema", ScalarType "name"),+> ("foreign_table_name", ScalarType "name"),+> ("foreign_server_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_name",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.information_schema_catalog_name"+> [("catalog_name", DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.key_column_usage"+> [("constraint_catalog",+> DomainType "information_schema.sql_identifier"),+> ("constraint_schema",+> DomainType "information_schema.sql_identifier"),+> ("constraint_name",+> DomainType "information_schema.sql_identifier"),+> ("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("column_name", DomainType "information_schema.sql_identifier"),+> ("ordinal_position",+> DomainType "information_schema.cardinal_number"),+> ("position_in_unique_constraint",+> DomainType "information_schema.cardinal_number")],+> CatCreateView "information_schema.parameters"+> [("specific_catalog",+> DomainType "information_schema.sql_identifier"),+> ("specific_schema",+> DomainType "information_schema.sql_identifier"),+> ("specific_name", DomainType "information_schema.sql_identifier"),+> ("ordinal_position",+> DomainType "information_schema.cardinal_number"),+> ("parameter_mode", DomainType "information_schema.character_data"),+> ("is_result", DomainType "information_schema.yes_or_no"),+> ("as_locator", DomainType "information_schema.yes_or_no"),+> ("parameter_name", DomainType "information_schema.sql_identifier"),+> ("data_type", DomainType "information_schema.character_data"),+> ("character_maximum_length",+> DomainType "information_schema.cardinal_number"),+> ("character_octet_length",+> DomainType "information_schema.cardinal_number"),+> ("character_set_catalog",+> DomainType "information_schema.sql_identifier"),+> ("character_set_schema",+> DomainType "information_schema.sql_identifier"),+> ("character_set_name",+> DomainType "information_schema.sql_identifier"),+> ("collation_catalog",+> DomainType "information_schema.sql_identifier"),+> ("collation_schema",+> DomainType "information_schema.sql_identifier"),+> ("collation_name", DomainType "information_schema.sql_identifier"),+> ("numeric_precision",+> DomainType "information_schema.cardinal_number"),+> ("numeric_precision_radix",+> DomainType "information_schema.cardinal_number"),+> ("numeric_scale", DomainType "information_schema.cardinal_number"),+> ("datetime_precision",+> DomainType "information_schema.cardinal_number"),+> ("interval_type", DomainType "information_schema.character_data"),+> ("interval_precision",+> DomainType "information_schema.character_data"),+> ("udt_catalog", DomainType "information_schema.sql_identifier"),+> ("udt_schema", DomainType "information_schema.sql_identifier"),+> ("udt_name", DomainType "information_schema.sql_identifier"),+> ("scope_catalog", DomainType "information_schema.sql_identifier"),+> ("scope_schema", DomainType "information_schema.sql_identifier"),+> ("scope_name", DomainType "information_schema.sql_identifier"),+> ("maximum_cardinality",+> DomainType "information_schema.cardinal_number"),+> ("dtd_identifier",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "pg_available_extension_versions"+> [("name", ScalarType "name"), ("version", ScalarType "text"),+> ("installed", ScalarType "bool"), ("superuser", ScalarType "bool"),+> ("relocatable", ScalarType "bool"), ("schema", ScalarType "name"),+> ("requires", ArrayType (ScalarType "name")),+> ("comment", ScalarType "text")],+> CatCreateView "pg_available_extensions"+> [("name", ScalarType "name"),+> ("default_version", ScalarType "text"),+> ("installed_version", ScalarType "text"),+> ("comment", ScalarType "text")],+> CatCreateView "pg_cursors"+> [("name", ScalarType "text"), ("statement", ScalarType "text"),+> ("is_holdable", ScalarType "bool"),+> ("is_binary", ScalarType "bool"),+> ("is_scrollable", ScalarType "bool"),+> ("creation_time", ScalarType "timestamptz")],+> CatCreateView "pg_group"+> [("groname", ScalarType "name"), ("grosysid", ScalarType "oid"),+> ("grolist", ArrayType (ScalarType "oid"))],+> CatCreateView "pg_indexes"+> [("schemaname", ScalarType "name"),+> ("tablename", ScalarType "name"), ("indexname", ScalarType "name"),+> ("tablespace", ScalarType "name"),+> ("indexdef", ScalarType "text")],+> CatCreateView "pg_locks"+> [("locktype", ScalarType "text"), ("database", ScalarType "oid"),+> ("relation", ScalarType "oid"), ("page", ScalarType "int4"),+> ("tuple", ScalarType "int2"), ("virtualxid", ScalarType "text"),+> ("transactionid", ScalarType "xid"), ("classid", ScalarType "oid"),+> ("objid", ScalarType "oid"), ("objsubid", ScalarType "int2"),+> ("virtualtransaction", ScalarType "text"),+> ("pid", ScalarType "int4"), ("mode", ScalarType "text"),+> ("granted", ScalarType "bool")],+> CatCreateView "pg_prepared_statements"+> [("name", ScalarType "text"), ("statement", ScalarType "text"),+> ("prepare_time", ScalarType "timestamptz"),+> ("parameter_types", ArrayType (ScalarType "regtype")),+> ("from_sql", ScalarType "bool")],+> CatCreateView "pg_prepared_xacts"+> [("transaction", ScalarType "xid"), ("gid", ScalarType "text"),+> ("prepared", ScalarType "timestamptz"),+> ("owner", ScalarType "name"), ("database", ScalarType "name")],+> CatCreateView "pg_roles"+> [("rolname", ScalarType "name"), ("rolsuper", ScalarType "bool"),+> ("rolinherit", ScalarType "bool"),+> ("rolcreaterole", ScalarType "bool"),+> ("rolcreatedb", ScalarType "bool"),+> ("rolcatupdate", ScalarType "bool"),+> ("rolcanlogin", ScalarType "bool"),+> ("rolreplication", ScalarType "bool"),+> ("rolconnlimit", ScalarType "int4"),+> ("rolpassword", ScalarType "text"),+> ("rolvaliduntil", ScalarType "timestamptz"),+> ("rolconfig", ArrayType (ScalarType "text")),+> ("oid", ScalarType "oid")],+> CatCreateView "pg_rules"+> [("schemaname", ScalarType "name"),+> ("tablename", ScalarType "name"), ("rulename", ScalarType "name"),+> ("definition", ScalarType "text")],+> CatCreateView "pg_seclabels"+> [("objoid", ScalarType "oid"), ("classoid", ScalarType "oid"),+> ("objsubid", ScalarType "int4"), ("objtype", ScalarType "text"),+> ("objnamespace", ScalarType "oid"), ("objname", ScalarType "text"),+> ("provider", ScalarType "text"), ("label", ScalarType "text")],+> CatCreateView "pg_settings"+> [("name", ScalarType "text"), ("setting", ScalarType "text"),+> ("unit", ScalarType "text"), ("category", ScalarType "text"),+> ("short_desc", ScalarType "text"),+> ("extra_desc", ScalarType "text"), ("context", ScalarType "text"),+> ("vartype", ScalarType "text"), ("source", ScalarType "text"),+> ("min_val", ScalarType "text"), ("max_val", ScalarType "text"),+> ("enumvals", ArrayType (ScalarType "text")),+> ("boot_val", ScalarType "text"), ("reset_val", ScalarType "text"),+> ("sourcefile", ScalarType "text"),+> ("sourceline", ScalarType "int4")],+> CatCreateView "pg_shadow"+> [("usename", ScalarType "name"), ("usesysid", ScalarType "oid"),+> ("usecreatedb", ScalarType "bool"),+> ("usesuper", ScalarType "bool"), ("usecatupd", ScalarType "bool"),+> ("userepl", ScalarType "bool"), ("passwd", ScalarType "text"),+> ("valuntil", ScalarType "abstime"),+> ("useconfig", ArrayType (ScalarType "text"))],+> CatCreateView "pg_stat_activity"+> [("datid", ScalarType "oid"), ("datname", ScalarType "name"),+> ("procpid", ScalarType "int4"), ("usesysid", ScalarType "oid"),+> ("usename", ScalarType "name"),+> ("application_name", ScalarType "text"),+> ("client_addr", ScalarType "inet"),+> ("client_hostname", ScalarType "text"),+> ("client_port", ScalarType "int4"),+> ("backend_start", ScalarType "timestamptz"),+> ("xact_start", ScalarType "timestamptz"),+> ("query_start", ScalarType "timestamptz"),+> ("waiting", ScalarType "bool"),+> ("current_query", ScalarType "text")],+> CatCreateView "pg_stat_all_indexes"+> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),+> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),+> ("indexrelname", ScalarType "name"),+> ("idx_scan", ScalarType "int8"),+> ("idx_tup_read", ScalarType "int8"),+> ("idx_tup_fetch", ScalarType "int8")],+> CatCreateView "pg_stat_all_tables"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"), ("seq_scan", ScalarType "int8"),+> ("seq_tup_read", ScalarType "int8"),+> ("idx_scan", ScalarType "int8"),+> ("idx_tup_fetch", ScalarType "int8"),+> ("n_tup_ins", ScalarType "int8"), ("n_tup_upd", ScalarType "int8"),+> ("n_tup_del", ScalarType "int8"),+> ("n_tup_hot_upd", ScalarType "int8"),+> ("n_live_tup", ScalarType "int8"),+> ("n_dead_tup", ScalarType "int8"),+> ("last_vacuum", ScalarType "timestamptz"),+> ("last_autovacuum", ScalarType "timestamptz"),+> ("last_analyze", ScalarType "timestamptz"),+> ("last_autoanalyze", ScalarType "timestamptz"),+> ("vacuum_count", ScalarType "int8"),+> ("autovacuum_count", ScalarType "int8"),+> ("analyze_count", ScalarType "int8"),+> ("autoanalyze_count", ScalarType "int8")],+> CatCreateView "pg_stat_bgwriter"+> [("checkpoints_timed", ScalarType "int8"),+> ("checkpoints_req", ScalarType "int8"),+> ("buffers_checkpoint", ScalarType "int8"),+> ("buffers_clean", ScalarType "int8"),+> ("maxwritten_clean", ScalarType "int8"),+> ("buffers_backend", ScalarType "int8"),+> ("buffers_backend_fsync", ScalarType "int8"),+> ("buffers_alloc", ScalarType "int8"),+> ("stats_reset", ScalarType "timestamptz")],+> CatCreateView "pg_stat_database"+> [("datid", ScalarType "oid"), ("datname", ScalarType "name"),+> ("numbackends", ScalarType "int4"),+> ("xact_commit", ScalarType "int8"),+> ("xact_rollback", ScalarType "int8"),+> ("blks_read", ScalarType "int8"), ("blks_hit", ScalarType "int8"),+> ("tup_returned", ScalarType "int8"),+> ("tup_fetched", ScalarType "int8"),+> ("tup_inserted", ScalarType "int8"),+> ("tup_updated", ScalarType "int8"),+> ("tup_deleted", ScalarType "int8"),+> ("conflicts", ScalarType "int8"),+> ("stats_reset", ScalarType "timestamptz")],+> CatCreateView "pg_stat_database_conflicts"+> [("datid", ScalarType "oid"), ("datname", ScalarType "name"),+> ("confl_tablespace", ScalarType "int8"),+> ("confl_lock", ScalarType "int8"),+> ("confl_snapshot", ScalarType "int8"),+> ("confl_bufferpin", ScalarType "int8"),+> ("confl_deadlock", ScalarType "int8")],+> CatCreateView "pg_stat_replication"+> [("procpid", ScalarType "int4"), ("usesysid", ScalarType "oid"),+> ("usename", ScalarType "name"),+> ("application_name", ScalarType "text"),+> ("client_addr", ScalarType "inet"),+> ("client_hostname", ScalarType "text"),+> ("client_port", ScalarType "int4"),+> ("backend_start", ScalarType "timestamptz"),+> ("state", ScalarType "text"), ("sent_location", ScalarType "text"),+> ("write_location", ScalarType "text"),+> ("flush_location", ScalarType "text"),+> ("replay_location", ScalarType "text"),+> ("sync_priority", ScalarType "int4"),+> ("sync_state", ScalarType "text")],+> CatCreateView "pg_stat_sys_indexes"+> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),+> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),+> ("indexrelname", ScalarType "name"),+> ("idx_scan", ScalarType "int8"),+> ("idx_tup_read", ScalarType "int8"),+> ("idx_tup_fetch", ScalarType "int8")],+> CatCreateView "pg_stat_sys_tables"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"), ("seq_scan", ScalarType "int8"),+> ("seq_tup_read", ScalarType "int8"),+> ("idx_scan", ScalarType "int8"),+> ("idx_tup_fetch", ScalarType "int8"),+> ("n_tup_ins", ScalarType "int8"), ("n_tup_upd", ScalarType "int8"),+> ("n_tup_del", ScalarType "int8"),+> ("n_tup_hot_upd", ScalarType "int8"),+> ("n_live_tup", ScalarType "int8"),+> ("n_dead_tup", ScalarType "int8"),+> ("last_vacuum", ScalarType "timestamptz"),+> ("last_autovacuum", ScalarType "timestamptz"),+> ("last_analyze", ScalarType "timestamptz"),+> ("last_autoanalyze", ScalarType "timestamptz"),+> ("vacuum_count", ScalarType "int8"),+> ("autovacuum_count", ScalarType "int8"),+> ("analyze_count", ScalarType "int8"),+> ("autoanalyze_count", ScalarType "int8")],+> CatCreateView "pg_stat_user_functions"+> [("funcid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("funcname", ScalarType "name"), ("calls", ScalarType "int8"),+> ("total_time", ScalarType "int8"),+> ("self_time", ScalarType "int8")],+> CatCreateView "pg_stat_user_indexes"+> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),+> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),+> ("indexrelname", ScalarType "name"),+> ("idx_scan", ScalarType "int8"),+> ("idx_tup_read", ScalarType "int8"),+> ("idx_tup_fetch", ScalarType "int8")],+> CatCreateView "pg_stat_user_tables"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"), ("seq_scan", ScalarType "int8"),+> ("seq_tup_read", ScalarType "int8"),+> ("idx_scan", ScalarType "int8"),+> ("idx_tup_fetch", ScalarType "int8"),+> ("n_tup_ins", ScalarType "int8"), ("n_tup_upd", ScalarType "int8"),+> ("n_tup_del", ScalarType "int8"),+> ("n_tup_hot_upd", ScalarType "int8"),+> ("n_live_tup", ScalarType "int8"),+> ("n_dead_tup", ScalarType "int8"),+> ("last_vacuum", ScalarType "timestamptz"),+> ("last_autovacuum", ScalarType "timestamptz"),+> ("last_analyze", ScalarType "timestamptz"),+> ("last_autoanalyze", ScalarType "timestamptz"),+> ("vacuum_count", ScalarType "int8"),+> ("autovacuum_count", ScalarType "int8"),+> ("analyze_count", ScalarType "int8"),+> ("autoanalyze_count", ScalarType "int8")],+> CatCreateView "pg_stat_xact_all_tables"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"), ("seq_scan", ScalarType "int8"),+> ("seq_tup_read", ScalarType "int8"),+> ("idx_scan", ScalarType "int8"),+> ("idx_tup_fetch", ScalarType "int8"),+> ("n_tup_ins", ScalarType "int8"), ("n_tup_upd", ScalarType "int8"),+> ("n_tup_del", ScalarType "int8"),+> ("n_tup_hot_upd", ScalarType "int8")],+> CatCreateView "pg_stat_xact_sys_tables"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"), ("seq_scan", ScalarType "int8"),+> ("seq_tup_read", ScalarType "int8"),+> ("idx_scan", ScalarType "int8"),+> ("idx_tup_fetch", ScalarType "int8"),+> ("n_tup_ins", ScalarType "int8"), ("n_tup_upd", ScalarType "int8"),+> ("n_tup_del", ScalarType "int8"),+> ("n_tup_hot_upd", ScalarType "int8")],+> CatCreateView "pg_stat_xact_user_functions"+> [("funcid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("funcname", ScalarType "name"), ("calls", ScalarType "int8"),+> ("total_time", ScalarType "int8"),+> ("self_time", ScalarType "int8")],+> CatCreateView "pg_stat_xact_user_tables"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"), ("seq_scan", ScalarType "int8"),+> ("seq_tup_read", ScalarType "int8"),+> ("idx_scan", ScalarType "int8"),+> ("idx_tup_fetch", ScalarType "int8"),+> ("n_tup_ins", ScalarType "int8"), ("n_tup_upd", ScalarType "int8"),+> ("n_tup_del", ScalarType "int8"),+> ("n_tup_hot_upd", ScalarType "int8")],+> CatCreateView "pg_statio_all_indexes"+> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),+> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),+> ("indexrelname", ScalarType "name"),+> ("idx_blks_read", ScalarType "int8"),+> ("idx_blks_hit", ScalarType "int8")],+> CatCreateView "pg_statio_all_sequences"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"), ("blks_read", ScalarType "int8"),+> ("blks_hit", ScalarType "int8")],+> CatCreateView "pg_statio_all_tables"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"),+> ("heap_blks_read", ScalarType "int8"),+> ("heap_blks_hit", ScalarType "int8"),+> ("idx_blks_read", ScalarType "int8"),+> ("idx_blks_hit", ScalarType "int8"),+> ("toast_blks_read", ScalarType "int8"),+> ("toast_blks_hit", ScalarType "int8"),+> ("tidx_blks_read", ScalarType "int8"),+> ("tidx_blks_hit", ScalarType "int8")],+> CatCreateView "pg_statio_sys_indexes"+> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),+> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),+> ("indexrelname", ScalarType "name"),+> ("idx_blks_read", ScalarType "int8"),+> ("idx_blks_hit", ScalarType "int8")],+> CatCreateView "pg_statio_sys_sequences"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"), ("blks_read", ScalarType "int8"),+> ("blks_hit", ScalarType "int8")],+> CatCreateView "pg_statio_sys_tables"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"),+> ("heap_blks_read", ScalarType "int8"),+> ("heap_blks_hit", ScalarType "int8"),+> ("idx_blks_read", ScalarType "int8"),+> ("idx_blks_hit", ScalarType "int8"),+> ("toast_blks_read", ScalarType "int8"),+> ("toast_blks_hit", ScalarType "int8"),+> ("tidx_blks_read", ScalarType "int8"),+> ("tidx_blks_hit", ScalarType "int8")],+> CatCreateView "pg_statio_user_indexes"+> [("relid", ScalarType "oid"), ("indexrelid", ScalarType "oid"),+> ("schemaname", ScalarType "name"), ("relname", ScalarType "name"),+> ("indexrelname", ScalarType "name"),+> ("idx_blks_read", ScalarType "int8"),+> ("idx_blks_hit", ScalarType "int8")],+> CatCreateView "pg_statio_user_sequences"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"), ("blks_read", ScalarType "int8"),+> ("blks_hit", ScalarType "int8")],+> CatCreateView "pg_statio_user_tables"+> [("relid", ScalarType "oid"), ("schemaname", ScalarType "name"),+> ("relname", ScalarType "name"),+> ("heap_blks_read", ScalarType "int8"),+> ("heap_blks_hit", ScalarType "int8"),+> ("idx_blks_read", ScalarType "int8"),+> ("idx_blks_hit", ScalarType "int8"),+> ("toast_blks_read", ScalarType "int8"),+> ("toast_blks_hit", ScalarType "int8"),+> ("tidx_blks_read", ScalarType "int8"),+> ("tidx_blks_hit", ScalarType "int8")],+> CatCreateView "pg_stats"+> [("schemaname", ScalarType "name"),+> ("tablename", ScalarType "name"), ("attname", ScalarType "name"),+> ("inherited", ScalarType "bool"),+> ("null_frac", ScalarType "float4"),+> ("avg_width", ScalarType "int4"),+> ("n_distinct", ScalarType "float4"),+> ("most_common_vals", Pseudo AnyArray),+> ("most_common_freqs", ArrayType (ScalarType "float4")),+> ("histogram_bounds", Pseudo AnyArray),+> ("correlation", ScalarType "float4")],+> CatCreateView "pg_tables"+> [("schemaname", ScalarType "name"),+> ("tablename", ScalarType "name"),+> ("tableowner", ScalarType "name"),+> ("tablespace", ScalarType "name"),+> ("hasindexes", ScalarType "bool"), ("hasrules", ScalarType "bool"),+> ("hastriggers", ScalarType "bool")],+> CatCreateView "pg_timezone_abbrevs"+> [("abbrev", ScalarType "text"),+> ("utc_offset", ScalarType "interval"),+> ("is_dst", ScalarType "bool")],+> CatCreateView "pg_timezone_names"+> [("name", ScalarType "text"), ("abbrev", ScalarType "text"),+> ("utc_offset", ScalarType "interval"),+> ("is_dst", ScalarType "bool")],+> CatCreateView "pg_user"+> [("usename", ScalarType "name"), ("usesysid", ScalarType "oid"),+> ("usecreatedb", ScalarType "bool"),+> ("usesuper", ScalarType "bool"), ("usecatupd", ScalarType "bool"),+> ("userepl", ScalarType "bool"), ("passwd", ScalarType "text"),+> ("valuntil", ScalarType "abstime"),+> ("useconfig", ArrayType (ScalarType "text"))],+> CatCreateView "pg_user_mappings"+> [("umid", ScalarType "oid"), ("srvid", ScalarType "oid"),+> ("srvname", ScalarType "name"), ("umuser", ScalarType "oid"),+> ("usename", ScalarType "name"),+> ("umoptions", ArrayType (ScalarType "text"))],+> CatCreateView "pg_views"+> [("schemaname", ScalarType "name"),+> ("viewname", ScalarType "name"), ("viewowner", ScalarType "name"),+> ("definition", ScalarType "text")],+> CatCreateView "information_schema.referential_constraints"+> [("constraint_catalog",+> DomainType "information_schema.sql_identifier"),+> ("constraint_schema",+> DomainType "information_schema.sql_identifier"),+> ("constraint_name",+> DomainType "information_schema.sql_identifier"),+> ("unique_constraint_catalog",+> DomainType "information_schema.sql_identifier"),+> ("unique_constraint_schema",+> DomainType "information_schema.sql_identifier"),+> ("unique_constraint_name",+> DomainType "information_schema.sql_identifier"),+> ("match_option", DomainType "information_schema.character_data"),+> ("update_rule", DomainType "information_schema.character_data"),+> ("delete_rule", DomainType "information_schema.character_data")],+> CatCreateView "information_schema.role_column_grants"+> [("grantor", DomainType "information_schema.sql_identifier"),+> ("grantee", DomainType "information_schema.sql_identifier"),+> ("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("column_name", DomainType "information_schema.sql_identifier"),+> ("privilege_type", DomainType "information_schema.character_data"),+> ("is_grantable", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.role_routine_grants"+> [("grantor", DomainType "information_schema.sql_identifier"),+> ("grantee", DomainType "information_schema.sql_identifier"),+> ("specific_catalog",+> DomainType "information_schema.sql_identifier"),+> ("specific_schema",+> DomainType "information_schema.sql_identifier"),+> ("specific_name", DomainType "information_schema.sql_identifier"),+> ("routine_catalog",+> DomainType "information_schema.sql_identifier"),+> ("routine_schema", DomainType "information_schema.sql_identifier"),+> ("routine_name", DomainType "information_schema.sql_identifier"),+> ("privilege_type", DomainType "information_schema.character_data"),+> ("is_grantable", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.role_table_grants"+> [("grantor", DomainType "information_schema.sql_identifier"),+> ("grantee", DomainType "information_schema.sql_identifier"),+> ("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("privilege_type", DomainType "information_schema.character_data"),+> ("is_grantable", DomainType "information_schema.yes_or_no"),+> ("with_hierarchy", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.role_usage_grants"+> [("grantor", DomainType "information_schema.sql_identifier"),+> ("grantee", DomainType "information_schema.sql_identifier"),+> ("object_catalog", DomainType "information_schema.sql_identifier"),+> ("object_schema", DomainType "information_schema.sql_identifier"),+> ("object_name", DomainType "information_schema.sql_identifier"),+> ("object_type", DomainType "information_schema.character_data"),+> ("privilege_type", DomainType "information_schema.character_data"),+> ("is_grantable", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.routine_privileges"+> [("grantor", DomainType "information_schema.sql_identifier"),+> ("grantee", DomainType "information_schema.sql_identifier"),+> ("specific_catalog",+> DomainType "information_schema.sql_identifier"),+> ("specific_schema",+> DomainType "information_schema.sql_identifier"),+> ("specific_name", DomainType "information_schema.sql_identifier"),+> ("routine_catalog",+> DomainType "information_schema.sql_identifier"),+> ("routine_schema", DomainType "information_schema.sql_identifier"),+> ("routine_name", DomainType "information_schema.sql_identifier"),+> ("privilege_type", DomainType "information_schema.character_data"),+> ("is_grantable", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.routines"+> [("specific_catalog",+> DomainType "information_schema.sql_identifier"),+> ("specific_schema",+> DomainType "information_schema.sql_identifier"),+> ("specific_name", DomainType "information_schema.sql_identifier"),+> ("routine_catalog",+> DomainType "information_schema.sql_identifier"),+> ("routine_schema", DomainType "information_schema.sql_identifier"),+> ("routine_name", DomainType "information_schema.sql_identifier"),+> ("routine_type", DomainType "information_schema.character_data"),+> ("module_catalog", DomainType "information_schema.sql_identifier"),+> ("module_schema", DomainType "information_schema.sql_identifier"),+> ("module_name", DomainType "information_schema.sql_identifier"),+> ("udt_catalog", DomainType "information_schema.sql_identifier"),+> ("udt_schema", DomainType "information_schema.sql_identifier"),+> ("udt_name", DomainType "information_schema.sql_identifier"),+> ("data_type", DomainType "information_schema.character_data"),+> ("character_maximum_length",+> DomainType "information_schema.cardinal_number"),+> ("character_octet_length",+> DomainType "information_schema.cardinal_number"),+> ("character_set_catalog",+> DomainType "information_schema.sql_identifier"),+> ("character_set_schema",+> DomainType "information_schema.sql_identifier"),+> ("character_set_name",+> DomainType "information_schema.sql_identifier"),+> ("collation_catalog",+> DomainType "information_schema.sql_identifier"),+> ("collation_schema",+> DomainType "information_schema.sql_identifier"),+> ("collation_name", DomainType "information_schema.sql_identifier"),+> ("numeric_precision",+> DomainType "information_schema.cardinal_number"),+> ("numeric_precision_radix",+> DomainType "information_schema.cardinal_number"),+> ("numeric_scale", DomainType "information_schema.cardinal_number"),+> ("datetime_precision",+> DomainType "information_schema.cardinal_number"),+> ("interval_type", DomainType "information_schema.character_data"),+> ("interval_precision",+> DomainType "information_schema.character_data"),+> ("type_udt_catalog",+> DomainType "information_schema.sql_identifier"),+> ("type_udt_schema",+> DomainType "information_schema.sql_identifier"),+> ("type_udt_name", DomainType "information_schema.sql_identifier"),+> ("scope_catalog", DomainType "information_schema.sql_identifier"),+> ("scope_schema", DomainType "information_schema.sql_identifier"),+> ("scope_name", DomainType "information_schema.sql_identifier"),+> ("maximum_cardinality",+> DomainType "information_schema.cardinal_number"),+> ("dtd_identifier", DomainType "information_schema.sql_identifier"),+> ("routine_body", DomainType "information_schema.character_data"),+> ("routine_definition",+> DomainType "information_schema.character_data"),+> ("external_name", DomainType "information_schema.character_data"),+> ("external_language",+> DomainType "information_schema.character_data"),+> ("parameter_style",+> DomainType "information_schema.character_data"),+> ("is_deterministic", DomainType "information_schema.yes_or_no"),+> ("sql_data_access",+> DomainType "information_schema.character_data"),+> ("is_null_call", DomainType "information_schema.yes_or_no"),+> ("sql_path", DomainType "information_schema.character_data"),+> ("schema_level_routine",+> DomainType "information_schema.yes_or_no"),+> ("max_dynamic_result_sets",+> DomainType "information_schema.cardinal_number"),+> ("is_user_defined_cast",+> DomainType "information_schema.yes_or_no"),+> ("is_implicitly_invocable",+> DomainType "information_schema.yes_or_no"),+> ("security_type", DomainType "information_schema.character_data"),+> ("to_sql_specific_catalog",+> DomainType "information_schema.sql_identifier"),+> ("to_sql_specific_schema",+> DomainType "information_schema.sql_identifier"),+> ("to_sql_specific_name",+> DomainType "information_schema.sql_identifier"),+> ("as_locator", DomainType "information_schema.yes_or_no"),+> ("created", DomainType "information_schema.time_stamp"),+> ("last_altered", DomainType "information_schema.time_stamp"),+> ("new_savepoint_level", DomainType "information_schema.yes_or_no"),+> ("is_udt_dependent", DomainType "information_schema.yes_or_no"),+> ("result_cast_from_data_type",+> DomainType "information_schema.character_data"),+> ("result_cast_as_locator",+> DomainType "information_schema.yes_or_no"),+> ("result_cast_char_max_length",+> DomainType "information_schema.cardinal_number"),+> ("result_cast_char_octet_length",+> DomainType "information_schema.cardinal_number"),+> ("result_cast_char_set_catalog",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_char_set_schema",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_character_set_name",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_collation_catalog",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_collation_schema",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_collation_name",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_numeric_precision",+> DomainType "information_schema.cardinal_number"),+> ("result_cast_numeric_precision_radix",+> DomainType "information_schema.cardinal_number"),+> ("result_cast_numeric_scale",+> DomainType "information_schema.cardinal_number"),+> ("result_cast_datetime_precision",+> DomainType "information_schema.cardinal_number"),+> ("result_cast_interval_type",+> DomainType "information_schema.character_data"),+> ("result_cast_interval_precision",+> DomainType "information_schema.character_data"),+> ("result_cast_type_udt_catalog",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_type_udt_schema",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_type_udt_name",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_scope_catalog",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_scope_schema",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_scope_name",+> DomainType "information_schema.sql_identifier"),+> ("result_cast_maximum_cardinality",+> DomainType "information_schema.cardinal_number"),+> ("result_cast_dtd_identifier",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.schemata"+> [("catalog_name", DomainType "information_schema.sql_identifier"),+> ("schema_name", DomainType "information_schema.sql_identifier"),+> ("schema_owner", DomainType "information_schema.sql_identifier"),+> ("default_character_set_catalog",+> DomainType "information_schema.sql_identifier"),+> ("default_character_set_schema",+> DomainType "information_schema.sql_identifier"),+> ("default_character_set_name",+> DomainType "information_schema.sql_identifier"),+> ("sql_path", DomainType "information_schema.character_data")],+> CatCreateView "information_schema.sequences"+> [("sequence_catalog",+> DomainType "information_schema.sql_identifier"),+> ("sequence_schema",+> DomainType "information_schema.sql_identifier"),+> ("sequence_name", DomainType "information_schema.sql_identifier"),+> ("data_type", DomainType "information_schema.character_data"),+> ("numeric_precision",+> DomainType "information_schema.cardinal_number"),+> ("numeric_precision_radix",+> DomainType "information_schema.cardinal_number"),+> ("numeric_scale", DomainType "information_schema.cardinal_number"),+> ("start_value", DomainType "information_schema.character_data"),+> ("minimum_value", DomainType "information_schema.character_data"),+> ("maximum_value", DomainType "information_schema.character_data"),+> ("increment", DomainType "information_schema.character_data"),+> ("cycle_option", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.table_constraints"+> [("constraint_catalog",+> DomainType "information_schema.sql_identifier"),+> ("constraint_schema",+> DomainType "information_schema.sql_identifier"),+> ("constraint_name",+> DomainType "information_schema.sql_identifier"),+> ("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("constraint_type",+> DomainType "information_schema.character_data"),+> ("is_deferrable", DomainType "information_schema.yes_or_no"),+> ("initially_deferred", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.table_privileges"+> [("grantor", DomainType "information_schema.sql_identifier"),+> ("grantee", DomainType "information_schema.sql_identifier"),+> ("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("privilege_type", DomainType "information_schema.character_data"),+> ("is_grantable", DomainType "information_schema.yes_or_no"),+> ("with_hierarchy", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.tables"+> [("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("table_type", DomainType "information_schema.character_data"),+> ("self_referencing_column_name",+> DomainType "information_schema.sql_identifier"),+> ("reference_generation",+> DomainType "information_schema.character_data"),+> ("user_defined_type_catalog",+> DomainType "information_schema.sql_identifier"),+> ("user_defined_type_schema",+> DomainType "information_schema.sql_identifier"),+> ("user_defined_type_name",+> DomainType "information_schema.sql_identifier"),+> ("is_insertable_into", DomainType "information_schema.yes_or_no"),+> ("is_typed", DomainType "information_schema.yes_or_no"),+> ("commit_action", DomainType "information_schema.character_data")],+> CatCreateView "information_schema.triggered_update_columns"+> [("trigger_catalog",+> DomainType "information_schema.sql_identifier"),+> ("trigger_schema", DomainType "information_schema.sql_identifier"),+> ("trigger_name", DomainType "information_schema.sql_identifier"),+> ("event_object_catalog",+> DomainType "information_schema.sql_identifier"),+> ("event_object_schema",+> DomainType "information_schema.sql_identifier"),+> ("event_object_table",+> DomainType "information_schema.sql_identifier"),+> ("event_object_column",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.triggers"+> [("trigger_catalog",+> DomainType "information_schema.sql_identifier"),+> ("trigger_schema", DomainType "information_schema.sql_identifier"),+> ("trigger_name", DomainType "information_schema.sql_identifier"),+> ("event_manipulation",+> DomainType "information_schema.character_data"),+> ("event_object_catalog",+> DomainType "information_schema.sql_identifier"),+> ("event_object_schema",+> DomainType "information_schema.sql_identifier"),+> ("event_object_table",+> DomainType "information_schema.sql_identifier"),+> ("action_order", DomainType "information_schema.cardinal_number"),+> ("action_condition",+> DomainType "information_schema.character_data"),+> ("action_statement",+> DomainType "information_schema.character_data"),+> ("action_orientation",+> DomainType "information_schema.character_data"),+> ("action_timing", DomainType "information_schema.character_data"),+> ("action_reference_old_table",+> DomainType "information_schema.sql_identifier"),+> ("action_reference_new_table",+> DomainType "information_schema.sql_identifier"),+> ("action_reference_old_row",+> DomainType "information_schema.sql_identifier"),+> ("action_reference_new_row",+> DomainType "information_schema.sql_identifier"),+> ("created", DomainType "information_schema.time_stamp")],+> CatCreateView "information_schema.usage_privileges"+> [("grantor", DomainType "information_schema.sql_identifier"),+> ("grantee", DomainType "information_schema.sql_identifier"),+> ("object_catalog", DomainType "information_schema.sql_identifier"),+> ("object_schema", DomainType "information_schema.sql_identifier"),+> ("object_name", DomainType "information_schema.sql_identifier"),+> ("object_type", DomainType "information_schema.character_data"),+> ("privilege_type", DomainType "information_schema.character_data"),+> ("is_grantable", DomainType "information_schema.yes_or_no")],+> CatCreateView "information_schema.user_mapping_options"+> [("authorization_identifier",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_name",+> DomainType "information_schema.sql_identifier"),+> ("option_name", DomainType "information_schema.sql_identifier"),+> ("option_value", DomainType "information_schema.character_data")],+> CatCreateView "information_schema.user_mappings"+> [("authorization_identifier",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_catalog",+> DomainType "information_schema.sql_identifier"),+> ("foreign_server_name",+> DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.view_column_usage"+> [("view_catalog", DomainType "information_schema.sql_identifier"),+> ("view_schema", DomainType "information_schema.sql_identifier"),+> ("view_name", DomainType "information_schema.sql_identifier"),+> ("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("column_name", DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.view_routine_usage"+> [("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("specific_catalog",+> DomainType "information_schema.sql_identifier"),+> ("specific_schema",+> DomainType "information_schema.sql_identifier"),+> ("specific_name", DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.view_table_usage"+> [("view_catalog", DomainType "information_schema.sql_identifier"),+> ("view_schema", DomainType "information_schema.sql_identifier"),+> ("view_name", DomainType "information_schema.sql_identifier"),+> ("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier")],+> CatCreateView "information_schema.views"+> [("table_catalog", DomainType "information_schema.sql_identifier"),+> ("table_schema", DomainType "information_schema.sql_identifier"),+> ("table_name", DomainType "information_schema.sql_identifier"),+> ("view_definition",+> DomainType "information_schema.character_data"),+> ("check_option", DomainType "information_schema.character_data"),+> ("is_updatable", DomainType "information_schema.yes_or_no"),+> ("is_insertable_into", DomainType "information_schema.yes_or_no"),+> ("is_trigger_updatable",+> DomainType "information_schema.yes_or_no"),+> ("is_trigger_deletable",+> DomainType "information_schema.yes_or_no"),+> ("is_trigger_insertable_into",+> DomainType "information_schema.yes_or_no")]]
+ src/Database/HsSqlPpp/Internals/TypeChecking/IDEnv.lhs view
@@ -0,0 +1,147 @@++code to resolve the qualifier of an identifier and expand stars and+some helpers to get ids for a table, and help with aliases++this should eventually expand to take over the local identifier+bindings code++> module Database.HsSqlPpp.Internals.TypeChecking.IDEnv+> (IDEnv(..)+> ,emptyIDEnv+> ,qualifyID+> ,expandStar) where++> import Data.List+> --import Debug.Trace+> import Control.Monad+> import Data.Maybe++> data IDEnv =++table name, public ids, private ids aliases already folded in+used for tref and subtref++> TrefIDEnv String [String] [String]++> | FunTrefIDEnv String+> | CompFunTrefIDEnv String [String]++first element is the alias, used for joins++> | JoinTrefIDEnv [String] -- join ids for natural/using equijoins+> IDEnv IDEnv+> | EmptyIDEnv String+> | TableAliasIDEnv String IDEnv+> | FullAliasIDEnv String [String] IDEnv+> | CorrelatedIDEnv IDEnv IDEnv -- normal env, extra correlated env+> deriving Show++> emptyIDEnv :: String -> IDEnv+> emptyIDEnv = EmptyIDEnv++> qualifyID :: IDEnv -> String -> Maybe (String,String)+> qualifyID idenv s =+> {-(if s == "c"+> then showit ("qualifyID " ++ show idenv ++ " " ++ show s ++ ": ")+> else id) $ -} qualifyID' idenv s+> qualifyID' :: IDEnv -> String -> Maybe (String,String)+> qualifyID' (CorrelatedIDEnv ids cids) i =+> msum [qualifyID ids i, qualifyID cids i]+> qualifyID' (TrefIDEnv s pus pvs) i = if i `elem` pus || i `elem` pvs+> then Just (s,i)+> else Nothing+> qualifyID' (FunTrefIDEnv f) i = if f == i+> then Just (f,i)+> else Nothing+> qualifyID' (CompFunTrefIDEnv f cs) i = case () of+> _ | i `elem` cs -> Just (f,i)+> | i == f -> Nothing --slighly hacky, this should be left alone+> | otherwise -> Nothing+> qualifyID' (JoinTrefIDEnv js t0 t1) i =+> case (qualifyID t0 i,qualifyID t1 i) of+> (Just q, _) | i `elem` js -> Just q+> (Just q, Nothing) -> Just q+> (Nothing, Just q) -> Just q+> _ -> Nothing++> qualifyID' (EmptyIDEnv _) _ = Nothing -- error $ "qualify: " ++ show x ++ " " ++ show y++private ids. When can a private column be referenced without a+qualifying name?+a straight tref env+in a join when the private column is joined on? FIXME+in an aliased trefenv++> -- special cases for aliased private ids++> qualifyID' (TableAliasIDEnv t (TrefIDEnv _ _ pvs)) i | i `elem` pvs = Just (t,i)+> qualifyID' (FullAliasIDEnv t _ (TrefIDEnv _ _ pvs)) i | i `elem` pvs = Just (t,i)++special case for aliased funtrefs++> qualifyID' (TableAliasIDEnv t (FunTrefIDEnv _)) i =+> if t == i+> then Just (t,t)+> else Nothing+++> qualifyID' (FullAliasIDEnv t cs _) i | i `elem` cs = Just (t,i)+> | otherwise = Nothing++> qualifyID' (TableAliasIDEnv t ids) i =+> fmap (\x -> (t,snd x)) $ qualifyID ids i++> --showit :: Show a => String -> a -> a+> --showit a t = trace (a ++ show t ++ "\n\n") t++> expandStar :: IDEnv -> Maybe String -> Maybe [(String,String)]+> expandStar i s = {-showit ("expandStar: " ++ show i ++ "\n" ++ show s ++ "\n\n")+> $ showit "esresult: " $ -} expandStar' i s++> expandStar' :: IDEnv -> Maybe String -> Maybe [(String,String)]+> expandStar' (CorrelatedIDEnv ids _) i = expandStar ids i+> expandStar' (TrefIDEnv s pus _) Nothing = Just $ zip (repeat s) pus+> expandStar' (TrefIDEnv s pus _) (Just s1) | s == s1 = Just $ zip (repeat s) pus+> | otherwise = Nothing+> expandStar' (CompFunTrefIDEnv f cs) Nothing = Just $ zip (repeat f) cs+> expandStar' (CompFunTrefIDEnv f cs) (Just f1) | f == f1 = Just $ zip (repeat f) cs+> | otherwise = Nothing+> expandStar' (FunTrefIDEnv f) Nothing = Just [(f,f)]+> expandStar' (FunTrefIDEnv f) (Just f1) | f == f1 = Just [(f,f)]+> | otherwise = Nothing++special case for a table alias on a non table valued funtref++> expandStar' (TableAliasIDEnv t (FunTrefIDEnv _)) Nothing = Just [(t,t)]+> expandStar' (TableAliasIDEnv t (FunTrefIDEnv _)) (Just f1)+> | t == f1 = Just [(t,t)]+> | otherwise = Nothing++++> expandStar' (JoinTrefIDEnv js t0 t1) Nothing =+> let isJ = (`elem` js) . snd+> (jis,t0is) = partition isJ $ fromMaybe [] (expandStar t0 Nothing)+> -- remove join columns from second list+> t1is = filter (not . isJ) $ fromMaybe [] (expandStar t1 Nothing)+> in case jis ++ t0is ++ t1is of -- check for duplicates?+> [] -> Nothing+> x -> Just x++expand actual alias, assume that there is no overlap so don't have to eliminate js++> expandStar' (JoinTrefIDEnv _js t0 t1) i =+> let t0is = fromMaybe [] (expandStar t0 i)+> t1is = fromMaybe [] (expandStar t1 i)+> in case t0is ++ t1is of -- check for duplicates?+> [] -> Nothing+> x -> Just x++> expandStar' (TableAliasIDEnv t ids) i+> | maybe True (==t) i = fmap (map (\x -> (t,snd x))) $ expandStar ids Nothing+> | otherwise = Nothing+> expandStar' (FullAliasIDEnv t cs _) i+> | maybe True (==t) i = Just $ map (t,) cs+> | otherwise = Nothing++> expandStar' (EmptyIDEnv _) _ = Nothing
src/Database/HsSqlPpp/Internals/TypeChecking/LocalBindings.lhs view
@@ -16,5 +16,51 @@ > ,joinBindings > ,lookupLocalBinding > ) where++> --import Control.Monad > > import Database.HsSqlPpp.Internals.TypeChecking.LocalBindingsInternal+> --import Database.HsSqlPpp.Internals.TypeType+> --import Database.HsSqlPpp.Internals.TypeChecking.ErrorUtils+++> {-data LocalEnv =+> TrefEnv String [(String,Type)] [(String,Type)]+> | FunTrefEnv String Type+> | CompFunTrefEnv String [(String, Type)]+> | JoinTrefEnv [String] LocalEnv LocalEnv+> | EmptyEnv+> | TableAliasEnv String LocalEnv+> | FullAliasEnv String [String] LocalEnv+> | CorrelatedEnv LocalEnv LocalEnv+> deriving Show+++> lookupID :: LocalEnv -> Maybe String -> String -> E (Maybe Type)+> lookupID (TrefEnv _t _pus _pvs) Nothing _i = Right Nothing+> lookupID (TrefEnv t pus pvs) (Just q) i+> | t == q =+> Right $ msum [lookup i pus, lookup i pvs]+> | otherwise = Right Nothing++> lookupID (FunTrefEnv _f _) Nothing _i = Right Nothing+> lookupID (FunTrefEnv f t) (Just q) i | q == f && i == f = Right $ Just t+> | otherwise = Right Nothing++> lookupID (JoinTrefEnv js e0 e1) Nothing _ = Right Nothing+> lookupID (JoinTrefEnv js e0 e1) (Just q) i+> -- if this is a join id, just lookup in e0+> | i `elem` js+> , t@(Right (Just _)) <- lookupe0 = t+> -- otherwise require to be in either e0 or e1 but not both+> | t@(Right (Just _)) <- lookupe0+> , Nothing <- lookupe1 = t+> | Nothing <- lookupe0+> , t@(Right (Just _)) <- lookupe1 = t+> | Right (Just _) <- lookupe0+> , Right (Just _) <- lookupe1 = Left $ AmbiguousIdentifier i+> | Nothing <- lookupe0+> , Nothing <- lookupe1 = Left $ UnrecognisedIdentifier i+> where+> lookupe0 = lookupID e0 (Just q) i+> lookupe1 = lookupID e1 (Just q) i-}
src/Database/HsSqlPpp/Internals/TypeChecking/LocalBindingsInternal.lhs view
@@ -72,10 +72,11 @@ > import Database.HsSqlPpp.Internals.TypeChecking.ErrorUtils > -+> --import Debug.Trace > data LocalBindings = LocalBindingsError > | LocalBindings [((String,String),Maybe Type)]+> deriving Show > createLocalBindings :: Maybe [(String,[(String,Maybe Type)])] -> LocalBindings > createLocalBindings i =@@ -98,13 +99,15 @@ > lookupLocalBinding :: LocalBindings -> String -> String -> E (Maybe Type) > lookupLocalBinding LocalBindingsError _ _ = Right Nothing-> lookupLocalBinding (LocalBindings lb) q i =+> lookupLocalBinding (LocalBindings lb) q i = {-trace ("lookupLocalBinding " ++ show lb ++ "\n" ++ show q ++ " " ++ i) $ showit "result: " $ -} > case lookup (q,i) lb of > Just t -> Right t > Nothing -> if (q == "") || any (==q) (map (fst . fst) lb) > then Left [UnrecognisedIdentifier i] > else Left [UnrecognisedCorrelationName q] +> --showit :: Show a => String -> a -> a+> --showit s a = trace (s ++ show a) a @@ -124,6 +127,7 @@ + --------------------------------------------- @@ -244,7 +248,7 @@ > ids1 <- updateStuff cat u1 > ids2 <- updateStuff cat u2 -split these apart so we have the unqualified lookups and star expands+split these apart so you have the unqualified lookups and star expands separately > let (uids1,qids1) = splitLkps ids1@@ -264,8 +268,8 @@ First: get the names of the join ids: this is the explicit list in the case of a using join, or the commonly named fields in a natural-join. We get the commonly named fields from the unqualified star-expansions so we don't include system attributes in a natural join.+join. You get the commonly named fields from the unqualified star+expansions so you don't include system attributes in a natural join. Then check: make sure explicit join id list is in both trefs, and resolve the types of the join ids.@@ -586,9 +590,9 @@ > (LocalBindingsLookup i2 s2) <- makeStack cat t2 > -- get the names and types of the join columns > let jns' = case jns of-> Left () -> -- natural join, so we have to work out the names+> Left () -> -- natural join, so you have to work out the names > -- by looking at the common attributes-> -- we do this by getting the star expansion+> -- you do this by getting the star expansion > -- with no correlation name, and then finding > -- the ids which appear in both lists > -- (so this ignores internal ids)@@ -640,7 +644,7 @@ > ids = map (\(n,t) -> (s,c1,n,t)) jids > in (c, fmap (ids++) lkps) > newStarExpansion = map (prependJids . removeJids1) se-> -- if we have an alias then we just want unqualified ids, then+> -- if you have an alias then you just want unqualified ids, then > -- the same ids with a t3 alias for both ids and star expansion > -- with all the correlation names replaced with the alias > if a == ""
src/Database/HsSqlPpp/Internals/TypeChecking/TypeConversion.lhs view
@@ -1,7 +1,8 @@ This file contains the functions for resolving types and-function/operator resolution. See the pg manual chapter 10:+function/operator resolution (which is seriously crazy). See the pg+manual chapter 10: http://www.postgresql.org/docs/8.4/interactive/typeconv.html @@ -16,6 +17,13 @@ checkAssignmentValid - pass in source type and target type, returns typelist[] if ok, otherwise error, pg manual 10.4 Value Storage++I wrote this when I was still struggling with haskell basics so it is+probably the worst bit of code in the codebase (there are a few+other contenders for this accolade). A rewrite is planned, but it+seems to do the job reasonably well at the moment so keeps getting put+off.+ > {-# LANGUAGE PatternGuards #-} > module Database.HsSqlPpp.Internals.TypeChecking.TypeConversion (
src/Database/HsSqlPpp/Internals/TypeType.lhs view
@@ -1,5 +1,5 @@ -This file contains the data type Type. It is kept separate so we can+This file contains the data type Type. It is kept separate so you can compile the types and function information from the database separately to AstInternal.ag. @@ -91,6 +91,7 @@ > | Internal > | LanguageHandler > | Opaque+> | FdwHandler > deriving (Eq,Show,Ord,Typeable,Data) this list will need reviewing, probably refactor to a completely@@ -214,7 +215,7 @@ elements, type compatibility of elements, just by context?). string literals are not checked for valid syntax currently, but this-will probably change so we can type check string literals statically.+will probably change so you can type check string literals statically. Postgres defers all checking to runtime, because it has to cope with custom data types. This code will allow adding a grammar checker for each type so you can optionally check the string lits statically.@@ -227,7 +228,7 @@ processing and sql code). todo: collect type names from current source file to check against-A lot of the infrastructure to do this is already in place. We also+A lot of the infrastructure to do this is already in place. You also need to do this for all other definitions, etc. === Type aliases@@ -235,7 +236,7 @@ Some types in postgresql have multiple names. I think this is hardcoded in the pg parser. -For the canonical name in this code, we use the name given in the+For the canonical name in this code, you use the name given in the postgresql pg_type catalog relvar. TODO: Change the ast canonical names: where there is a choice, prefer@@ -329,9 +330,9 @@ The type annotations attached to nodes will be either typecheckfailed 'type' this will allow chaining type check failed more robustly. Type errors don't change. -the sql type type will be changed so we can track the different+the sql type type will be changed so you can track the different contexts where different sql types can be used, split to use different-sets of types so we can use the haskell type system to enforce these+sets of types so you can use the haskell type system to enforce these contexts. rename type to sqltype, too confusing otherwise@@ -349,7 +350,7 @@ domaintype : what types are allowable as the base type? pseudo types: these are used for arguments and return values for function prototypes only any*, record - just means pg infers the return type which will be a composite type (namedcomposite, composite or anonymousrecord), trigger: just a tag, void: just a tag, any*: polymorphic functions, ignore cstring, internal, language handler and opaque.-issue: a variable declaration can be a polymorphic type in a polymorphic function, but we can't use the other pseudo types so need to split these+issue: a variable declaration can be a polymorphic type in a polymorphic function, but you can't use the other pseudo types so need to split these a variable declared as type record IS NOT the same thing as the pseudo record type, I've finally worked out. so our plpgsqlrecordtype is plpgsqlrecordtype (Nothing|one of the three composite types)
src/Database/HsSqlPpp/Parser.lhs view
@@ -8,7 +8,6 @@ > ,parseStatementsWithPosition > ,parseStatementsFromFile > ,parseQueryExpr-> ,parseSqlServerQueryExpr > -- * Testing > ,parseScalarExpr > ,parsePlpgsql
src/Database/HsSqlPpp/Parsing/Lexer.lhs view
@@ -47,6 +47,7 @@ > --', $$, $[stuff]$ > | IdStringTok String -- either a identifier component (without .) or a *+> | QIdStringTok String -- same as IdStringTok with quotes > | SymbolTok String -- operators, and ()[],;: and also . > -- '*' is currently always lexed as an id@@ -102,8 +103,8 @@ Could lex lazily and when the lexer reads a copy from stdin statement, it switches lexers to lex the inline table data, then switches back. Don't know how to do this in parsec, or even if it is possible,-so as a work around, we use the state to trap if we've just seen 'from-stdin;', if so, we read the copy payload as one big token, otherwise+so as a work around, you use the state to trap if we've just seen 'from+stdin;', if so, you read the copy payload as one big token, otherwise we read a normal token. > sqlToken :: Parser Token@@ -115,6 +116,7 @@ > else try sqlNumber > <|> try sqlString > <|> try idString+> <|> try qidString > <|> try positionalArg > <|> try sqlSymbol > updateState $ \stt ->@@ -165,6 +167,11 @@ > > idString :: Parser Tok > idString = IdStringTok <$> identifierString++> qidString :: Parser Tok+> qidString = QIdStringTok <$> qidentifierString++ > > positionalArg :: Parser Tok > positionalArg = char '$' >> PositionalArgTok <$> integer@@ -244,12 +251,17 @@ > suff <- choice [-- complete fractional part > try fracPart > ,-- dot followed by optional exp-> do-> _ <- char '.'-> e <- optionMaybe expn-> return $ concat $ catMaybes-> [Just "."-> ,e]+> -- check for .. symbol+> choice [try $ do+> _ <- lookAhead $ string ".."+> return []+> ,do+> _ <- char '.'+> e <- optionMaybe expn+> return $ concat $ catMaybes+> [Just "."+> ,e]+> ] > ,--no dot then expn > expn > -- just an integer@@ -280,20 +292,23 @@ additional parser bits and pieces -include dots, * in all identifier strings during lexing. This parser-is also used for keywords, so identifiers and keywords aren't-distinguished until during proper parsing, and * and qualifiers aren't-really examined until type checking+include * in identifier strings during lexing. This parser is also+used for keywords, so identifiers and keywords aren't distinguished+until during proper parsing, and * isn't really examined until type+checking > identifierString :: Parser String-> identifierString = lexeme $ choice [-> "*" <$ symbol "*"-> ,nonStarPart]-> where-> nonStarPart = idpart <|> (char '"' *> many (noneOf "\"") <* char '"')-> where idpart = (letter <|> char '_') <:> secondOnwards-> secondOnwards = many (alphaNum <|> char '_')+> identifierString = lexeme $ (letter <|> char '_')+> <:> many (alphaNum <|> char '_') +todo:+select adrelid as "a""a" from pg_attrdef;+creates a column named: 'a"a' with a double quote in it++> qidentifierString :: Parser String+> qidentifierString = lexeme $ char '"' *> many (noneOf "\"") <* char '"'++ parse the block of inline data for a copy from stdin, ends with \. on its own on a line @@ -312,8 +327,8 @@ = parsec pass throughs -> symbol :: String -> Parser String-> symbol = P.symbol lexer+> --symbol :: String -> Parser String+> --symbol = P.symbol lexer > > integer :: Parser Integer
src/Database/HsSqlPpp/Parsing/ParserInternal.lhs view
@@ -2,7 +2,7 @@ The main file for parsing sql, uses parsec. Not sure if parsec is the right choice, but it seems to do the job pretty well at the moment. -> {-# LANGUAGE FlexibleContexts #-}+> {-# LANGUAGE FlexibleContexts,ExplicitForAll #-} > -- | Functions to parse SQL. > module Database.HsSqlPpp.Parsing.ParserInternal > (-- * Main@@ -10,16 +10,13 @@ > ,parseStatementsWithPosition > ,parseStatementsFromFile > ,parseQueryExpr-> ,parseSqlServerQueryExpr+> ,parsePlpgsqlWithPosition > -- * Testing > ,parseScalarExpr+> ,parseScalarExprWithPosition > ,parsePlpgsql > -- * errors > ,ParseErrorExtra(..)-> -- * quasiquotation support-> ,parseAntiSql-> ,parseAntiPlpgsql-> ,parseAntiScalarExpr > -- other helpers for internal use > ,tableAttribute > ,keyword@@ -46,9 +43,7 @@ > > import Database.HsSqlPpp.Parsing.Lexer > import Database.HsSqlPpp.Parsing.ParseErrors-> import Database.HsSqlPpp.Internals.AstAnti-> --import Database.HsSqlPpp.Ast-> import qualified Database.HsSqlPpp.Ast as A+> import Database.HsSqlPpp.Ast > import Database.HsSqlPpp.Annotation as A > import Database.HsSqlPpp.Utils.Utils > import Database.HsSqlPpp.Catalog@@ -59,48 +54,36 @@ Top level parsing functions =========================== -To support antiquotation, the following approach is used:--* makeantinodes processes the generated astinternal.hs, and extracts- the ast node types.-* it modifies these to add anti ctors to the appropriate types,- creates a set of trivial conversion functions to convert between anti- nodes and regular nodes, and this is written to astanti.hs.-* astanti then contains exactly the same set of ast nodes as- astinternal, but with a few additions to support antiquotes.-* this parsing code parses to the antinodes, then converts to regular- nodes for the public api, and returns antinodes for the sql- quasiquoter to use.-* todo: add a flag so that if we are not parsing for the quasiquoter,- any splice syntax is rejected as a parse error.- > parseStatements :: String -- ^ filename to use in errors > -> String -- ^ a string containing the sql to parse-> -> Either ParseErrorExtra [A.Statement]+> -> Either ParseErrorExtra [Statement] > parseStatements f s =-> deAS $ parseIt l sqlStatements f Nothing s startState+> parseIt l sqlStatements f Nothing s startState > where l = lexSqlText f s > > parseStatementsWithPosition :: FilePath -- ^ filename to use in errors > -> Int -- ^ adjust line number in errors by adding this > -> Int -- ^ adjust column in errors by adding this > -> String -- ^ a string containing the sql to parse-> -> Either ParseErrorExtra [A.Statement]-> parseStatementsWithPosition f l c s = deAS $ parseAntiSql f l c s+> -> Either ParseErrorExtra [Statement]+> parseStatementsWithPosition f l c s =+> parseIt lx sqlStatements f (Just (l,c)) s startState+> where lx = lexSqlText f s+> --parseAntiSql f l c s > > parseStatementsFromFile :: FilePath -- ^ file name of file containing sql-> -> IO (Either ParseErrorExtra [A.Statement])+> -> IO (Either ParseErrorExtra [Statement]) > parseStatementsFromFile fn = do > sc <- readFile fn > x <- lexSqlFile fn-> return $ deAS $ parseIt x sqlStatements fn Nothing sc startState+> return $ parseIt x sqlStatements fn Nothing sc startState > > parseQueryExpr :: String -- ^ filename to use in errors > -> String -- ^ a string containing the sql to parse-> -> Either ParseErrorExtra A.QueryExpr+> -> Either ParseErrorExtra QueryExpr > parseQueryExpr f s =-> deQE $ parseIt l pqe f Nothing s startState+> parseIt l pqe f Nothing s startState > where > l = lexSqlText f s > pqe :: SParser QueryExpr@@ -110,46 +93,13 @@ > eof > return q -> -- | Hacky wrapper to parse a query statement in the form:-> -- | select expr;-> -- | optionally 'set rowcount N'-> -- | GO-> parseSqlServerQueryExpr :: String -- ^ filename to use in errors-> -> String -- ^ a string containing the sql to parse-> -> Either ParseErrorExtra A.QueryExpr-> parseSqlServerQueryExpr f s =-> deQE $ parseIt l pqe f Nothing s startState-> where-> l = lexSqlText f s-> pqe :: SParser QueryExpr-> pqe = do-> (QueryStatement _ q) <- queryStatement-> _ <- optional $ symbol ";"-> rc <- tryOptionMaybe rowcount-> keyword "go"-> eof-> return $ case rc of-> Nothing -> q-> Just (-1) -> q-> Just n -> updateLimit n q-> rowcount = --trace "try set" $-> keyword "set"-> *> keyword "rowcount"-> *> choice [-> symbol "-" *> (((* (-1)) . fromInteger) <$> integer)-> ,integer]-> updateLimit n (Select a di sl tr wh gb hv ob _l o) =-> Select a di sl tr wh gb hv ob (Just $ NumberLit emptyAnnotation (show n)) o-> updateLimit _ x = error $ "query style not supported for sql server style: " ++ show x-- > -- | Parse expression fragment, used for testing purposes > parseScalarExpr :: String -- ^ filename for error messages > -> String -- ^ sql string containing a single expression, > -- with no trailing ';'-> -> Either ParseErrorExtra A.ScalarExpr+> -> Either ParseErrorExtra ScalarExpr > parseScalarExpr f s =-> deAE $ parseIt l (expr <* eof) f Nothing s startState+> parseIt l (expr <* eof) f Nothing s startState > where l = lexSqlText f s > > -- | Parse plpgsql statements, used for testing purposes -@@ -158,42 +108,31 @@ > -- (The produced ast won't pass a type check.) > parsePlpgsql :: String > -> String-> -> Either ParseErrorExtra [A.Statement]+> -> Either ParseErrorExtra [Statement] > parsePlpgsql f s =-> deAS $ parseIt l p f Nothing s startState+> parseIt l p f Nothing s startState > where > l = lexSqlText f s > p = many plPgsqlStatement <* eof >-> parseAntiSql :: FilePath-> -> Int-> -> Int-> -> String-> -> Either ParseErrorExtra [Statement]-> parseAntiSql f l c s =-> parseIt lx sqlStatements f ps s startState-> where-> lx = lexSqlTextWithPosition f l c s-> ps = Just (l,c)->-> parseAntiPlpgsql :: String+> parsePlpgsqlWithPosition :: String > -> Int > -> Int > -> String > -> Either ParseErrorExtra [Statement]-> parseAntiPlpgsql f l c s =+> parsePlpgsqlWithPosition f l c s = > parseIt lx p f ps s startState > where > lx = lexSqlText f s > p = many plPgsqlStatement <* eof > ps = Just (l,c) >-> parseAntiScalarExpr :: String+> parseScalarExprWithPosition :: String > -> Int > -> Int > -> String > -> Either ParseErrorExtra ScalarExpr-> parseAntiScalarExpr f l c s =+> parseScalarExprWithPosition f l c s = > parseIt lx p f ps s startState > where > lx = lexSqlText f s@@ -216,25 +155,8 @@ > in case toParseErrorExtra r1 sp src of > Left er -> Left er > Right t -> Right $ fixupTree t->-> deAE :: Either ParseErrorExtra ScalarExpr-> -> Either ParseErrorExtra A.ScalarExpr-> deAE x = case x of-> Left e -> Left e-> Right ex -> Right $ convertScalarExpr ex-> deAS :: Either ParseErrorExtra [Statement]-> -> Either ParseErrorExtra [A.Statement]-> deAS x = case x of-> Left e -> Left e-> Right ex -> Right $ convertStatements ex -> deQE :: Either ParseErrorExtra QueryExpr-> -> Either ParseErrorExtra A.QueryExpr-> deQE x = case x of-> Left e -> Left e-> Right ex -> Right $ queryExpr ex - -------------------------------------------------------------------------------- > type SParser = GenParser Token ParseState@@ -309,79 +231,101 @@ > into = do > p <- pos <* keyword "into" > st <- option False (True <$ keyword "strict")-> is <- commaSep1 qName+> is <- commaSep1 name > return $ \s -> Into p st is s > intoQueryStatement :: SParser Statement > intoQueryStatement = do-> p <- pos-> (i,q) <- pQueryExprX True-> return $ i $ QueryStatement p q+> (i,_) <- pQueryExprX True+> case i of+> Nothing -> fail "not into"+> Just s -> return s > pQueryExpr :: SParser QueryExpr > pQueryExpr = snd <$> pQueryExprX False -> pQueryExprX :: Bool -> SParser (Statement -> Statement, QueryExpr)-> pQueryExprX allowInto = (id,) <$>-> (with <|>-> buildExpressionParser combTable selFactor)+bit convoluted to parse the into part++> pQueryExprX :: Bool -> SParser (Maybe Statement, QueryExpr)+> pQueryExprX allowInto =+> ((Nothing,) <$> with)+> <|> buildExpressionParser combTable selFactor > where-> selFactor = try (parens pQueryExpr) <|> selQuerySpec <|> values+> selFactor = choice [try ((Nothing,) <$> (parens pQueryExpr))+> ,selQuerySpec+> ,(Nothing,) <$> values] > with = WithQueryExpr <$> (pos <* keyword "with") > <*> commaSep1 withQuery > <*> pQueryExpr > withQuery = WithQuery <$> pos-> <*> idString-> <*> tryOptionMaybe (parens $ commaSep idString)+> <*> nameComponent+> <*> tryOptionMaybe (parens $ commaSep nameComponent) > <*> (keyword "as" *> parens pQueryExpr)-> combTable = [map (\(c,p) -> Infix (CombineQueryExpr-> <$> pos-> <*> (c <$ p)) AssocLeft)-> [(Except, keyword "except")-> ,(Intersect, keyword "intersect")-> ,(UnionAll, try (keyword "union" *> keyword "all"))-> ,(Union, keyword "union")]]+> combTable =+> [map makeOp [(Except, keyword "except")+> ,(Intersect, keyword "intersect")+> ,(UnionAll, try (keyword "union" *> keyword "all"))+> ,(Union, keyword "union")]]+> makeOp (c,p) =+> Infix (do+> cmb <- CombineQueryExpr+> <$> pos+> <*> (c <$ p)+> return $ \s0 s1 -> (Nothing, cmb (snd s0) (snd s1))+> ) AssocLeft > selQuerySpec = do > p <- pos <* keyword "select" > d <- option Dupes (Distinct <$ keyword "distinct")+> -- hacky parsing of sql server 'top n' style select+> -- quiz: what happens when you use top n and limit at the same time?+> tp <- optionMaybe $ try+> $ keyword "top" *> (NumberLit <$> pos <*> (show <$> integer)) > -- todo: work out how to make this work properly - need to return > -- the into-> (sl,_intoBit) <- if allowInto+> (sl,intoBit) <- if allowInto > then permute ((,) > <$$> try selectList > <|?> (Nothing, Just <$> into))-> else (,Nothing) <$> selectList-> Select p d sl+> else (,Nothing) <$> selectList+> s <- Select p d sl > <$> option [] from > <*> optionMaybe whereClause > <*> option [] groupBy > <*> optionMaybe having-> <*> option [] orderBy-> <*> optionMaybe limit+> <*> orderBy+> <*> option tp (Just <$> limit) > <*> optionMaybe offset+> return (case intoBit of+> Just f -> Just $ f $ QueryStatement p s+> Nothing -> Nothing+> ,s) > from = keyword "from" *> commaSep1 tableRef > groupBy = keyword "group" *> keyword "by" > *> commaSep1 expr > having = keyword "having" *> expr-> orderBy = keyword "order" *> keyword "by"-> *> commaSep1 oneOrder-> oneOrder = (,) <$> expr-> <*> option Asc (choice [-> Asc <$ keyword "asc"-> ,Desc <$ keyword "desc"]) > limit = keyword "limit" *> expr > offset = keyword "offset" *> expr > values = Values <$> (pos <* keyword "values") > <*> commaSep1 (parens $ commaSep1 expr) +> orderBy :: SParser [(ScalarExpr,Direction)]+> orderBy = option []+> (keyword "order" *> keyword "by"+> *> commaSep1 oneOrder)+> where+> oneOrder = (,) <$> expr+> <*> option Asc (choice [+> Asc <$ keyword "asc"+> ,Desc <$ keyword "desc"]) + table refs have to cope with: a simple tableref i.e just a name an aliased table ref e.g. select a.b from tbl as a a sub select e.g. select a from (select b from c) - these are handled in nonJoinTref-then we combine by seeing if there is a join looking prefix+then you combine by seeing if there is a join looking prefix > tableRef :: SParser TableRef > tableRef =@@ -410,7 +354,7 @@ > <$> try (identifier >>= functionCallSuffix) > <*> palias > ,Tref p2-> <$> nkwidn+> <$> nonKeywordName > <*> palias] > joinKw :: SParser (Natural, JoinType) > joinKw = do@@ -436,52 +380,15 @@ > palias = do > p <- pos > option (NoAlias p)-> (optionalSuffix-> (TableAlias p) (optional (keyword "as") *> nkwid)-> (FullAlias p) () (parens $ commaSep1 idString))-> badNames = ["as"-> ,"where"-> ,"except"-> ,"union"-> ,"intersect"-> ,"loop"-> ,"inner"-> ,"on"-> ,"left"-> ,"right"-> ,"full"-> ,"cross"-> ,"join"-> ,"natural"-> ,"order"-> ,"group"-> ,"limit"-> ,"using"-> ,"from"]-> nkwidn = do-> i <- dqi-> case i of-> SQIdentifier _ [n] | n `elem` badNames-> -> fail "not keyword"-> _ -> return i-> nkwid = try $ do-> x <- idString-> --avoid all these keywords as aliases since they can-> --appear immediately following a tableref as the next-> --part of the statement, if we don't do this then lots-> --of things don't parse. Seems a bit inelegant but-> --works for the tests and the test sql files don't know-> --if these should be allowed as aliases without "" or-> --[]-> -- TODO find out what the correct behaviour here is.-> if map toLower x `elem` badNames-> then fail "not keyword"-> else return x+> (try $ optionalSuffix+> (TableAlias p) (optional (keyword "as") *> nonKeywordNc)+> (FullAlias p) () (parens $ commaSep1 nameComponent)) > > optParens :: SParser a > -> SParser a > optParens p = try (parens p) <|> p + insert, update and delete ------------------------- @@ -491,7 +398,7 @@ > insert :: SParser Statement > insert = Insert > <$> pos <* keyword "insert" <* keyword "into"-> <*> dqi+> <*> name > <*> option [] (try columnNameList) > <*> pQueryExpr > <*> tryOptionMaybe returning@@ -499,7 +406,7 @@ > update :: SParser Statement > update = Update > <$> pos <* keyword "update"-> <*> dqi+> <*> name > <*> (keyword "set" *> commaSep1 setClause) > <*> option [] (keyword "from" *> commaSep1 tableRef) > <*> tryOptionMaybe whereClause@@ -508,22 +415,24 @@ > setClause = > choice [do > p <- pos-> l <- parens (commaSep1 idString)+> l <- parens (commaSep1 nameComponent) > symbol "=" > r <- parens (commaSep1 expr)-> return $ FunCall p "=" [FunCall p "!rowctor" $ map (Identifier p) l-> ,FunCall p "!rowctor" r]+> return $ MultiSetClause p l $ FunCall p (nm p "!rowctor") r > ,do > p <- pos-> l <- idString+> l <- nameComponent > symbol "=" > r <- expr-> return $ FunCall p "=" [Identifier p l,r]]+> return $ SetClause p l r] +> nm :: Annotation -> String -> Name+> nm a s = Name a [Nmc s]+ > delete :: SParser Statement > delete = Delete > <$> pos <* keyword "delete" <* keyword "from"-> <*> dqi+> <*> name > <*> option [] (keyword "using" *> commaSep1 tableRef) > <*> tryOptionMaybe whereClause > <*> tryOptionMaybe returning@@ -536,7 +445,7 @@ > truncateSt = > Truncate > <$> pos <* keyword "truncate" <* optional (keyword "table")-> <*> commaSep1 idString+> <*> commaSep1 name > <*> option ContinueIdentity (choice [ > ContinueIdentity <$ (keyword "continue" > <* keyword "identity")@@ -548,8 +457,8 @@ > copy = do > p <- pos > keyword "copy"-> tableName <- idString-> cols <- option [] (parens $ commaSep1 idString)+> tableName <- name+> cols <- option [] (parens $ commaSep1 nameComponent) > keyword "from" > src <- choice [ > CopyFilename <$> extrStr <$> stringLit@@ -593,14 +502,14 @@ > createTable = do > p <- pos > keyword "table"-> tname <- idString+> tname <- name > choice [ > CreateTableAs p tname <$> (keyword "as" *> pQueryExpr) > ,uncurry (CreateTable p tname) <$> readAttsAndCons] > where > --parse our unordered list of attribute defs or constraints, for > --each line want to try the constraint parser first, then the-> --attribute parser, so we need the swap to feed them in the+> --attribute parser, so you need the swap to feed them in the > --right order into createtable > readAttsAndCons = parens (swap <$> multiPerm > (try tableConstraint)@@ -611,7 +520,7 @@ > tableAttribute :: SParser AttributeDef > tableAttribute = AttributeDef > <$> pos-> <*> idString+> <*> nameComponent > <*> typeName > <*> tryOptionMaybe (keyword "default" *> expr) > <*> many rowConstraint@@ -626,8 +535,8 @@ > ,NullConstraint p cn <$ keyword "null" > ,NotNullConstraint p cn <$ (keyword "not" <* keyword "null") > ,RowReferenceConstraint p cn-> <$> (keyword "references" *> idString)-> <*> option Nothing (try $ parens $ Just <$> idString)+> <$> (keyword "references" *> name)+> <*> option Nothing (try $ parens $ Just <$> nameComponent) > <*> onDelete > <*> onUpdate > ]@@ -652,15 +561,15 @@ > ,PrimaryKeyConstraint p cn > <$> try (keyword "primary" *> keyword "key" > *> choice [-> (:[]) <$> idString-> ,parens (commaSep1 idString)])+> (:[]) <$> nameComponent+> ,parens (commaSep1 nameComponent)]) > ,CheckConstraint p cn > <$>try (keyword "check" *> parens expr) > ,ReferenceConstraint p cn > <$> try (keyword "foreign" *> keyword "key"-> *> parens (commaSep1 idString))-> <*> (keyword "references" *> idString)-> <*> option [] (parens $ commaSep1 idString)+> *> parens (commaSep1 nameComponent))+> <*> (keyword "references" *> name)+> <*> option [] (parens $ commaSep1 nameComponent) > <*> onUpdate > <*> onDelete] > where@@ -672,18 +581,18 @@ > ,"check" > ,"foreign" > ,"references"]-> then fail "not keyword"+> then fail "not keyword (constraint name)" > else return x > > alterTable :: SParser Statement > alterTable = AlterTable <$> (pos <* keyword "table" > <* optional (keyword "only"))-> <*> idString+> <*> name > <*> many1 action > where action = choice [ > AlterColumnDefault > <$> (pos <* keyword "alter" <* keyword "column")-> <*> idString+> <*> nameComponent > <*> (keyword "set" *> keyword "default" *> expr) > ,AddConstraint > <$> (pos <* keyword "add")@@ -692,23 +601,23 @@ > createType :: SParser Statement > createType = CreateType > <$> pos <* keyword "type"-> <*> idString+> <*> name > <*> (keyword "as" *> parens (commaSep1 typeAtt)) > where-> typeAtt = TypeAttDef <$> pos <*> idString <*> typeName+> typeAtt = TypeAttDef <$> pos <*> nameComponent <*> typeName > > createSequence :: SParser Statement > createSequence = do > p <- pos > keyword "sequence"-> nm <- idString+> snm <- name > (stw, incr, mx, mn, c) <- > permute ((,,,,) <$?> (1,startWith) > <|?> (1,increment) > <|?> ((2::Integer) ^ (63::Integer) - 1, maxi) > <|?> (1, mini) > <|?> (1, cache))-> return $ CreateSequence p nm incr mn mx stw c+> return $ CreateSequence p snm incr mn mx stw c > where > startWith = keyword "start" *> optional (keyword "with") *> integer > increment = keyword "increment" *> optional (keyword "by") *> integer@@ -719,10 +628,10 @@ > > alterSequence :: SParser Statement > alterSequence = AlterSequence <$> pos-> <*> (keyword "sequence" *> idString)+> <*> (keyword "sequence" *> name) > <*> (keyword "owned" > *> keyword "by"-> *> dqi)+> *> name) create function, support sql functions and plpgsql functions. Parses the body in both cases and provides a statement list for the body@@ -734,7 +643,7 @@ > rep <- choice [NoReplace <$ keyword "function" > ,Replace <$ mapM_ keyword ["or", "replace", "function"] > ]-> fnName <- idString+> fnName <- name > params <- parens $ commaSep param > retType <- keyword "returns" *> typeName > ((bodypos,body), lang,vol) <-@@ -789,7 +698,7 @@ > param :: SParser ParamDef > param = choice [-> try (ParamDef <$> pos <*> idString <*> typeName)+> try (ParamDef <$> pos <*> nameComponent <*> typeName) > ,ParamDefTp <$> pos <*> typeName] variable declarations in a plpgsql function@@ -797,12 +706,12 @@ > varDef :: SParser VarDef > varDef = do > p <- pos-> a <- idString+> a <- nameComponent > choice [do > keyword "alias" > keyword "for" > choice [-> VarAlias p a <$> idString+> VarAlias p a <$> name > ,ParamAlias p a <$> liftPositionalArgTok] > ,VarDef p a > <$> typeName@@ -813,15 +722,15 @@ > createView :: SParser Statement > createView = CreateView > <$> pos <* keyword "view"-> <*> idString-> <*> tryOptionMaybe (parens $ commaSep idString)+> <*> name+> <*> tryOptionMaybe (parens $ commaSep nameComponent) > <*> (keyword "as" *> pQueryExpr) > > createDomain :: SParser Statement > createDomain = CreateDomain > <$> pos <* keyword "domain"-> <*> idString+> <*> name > <*> (tryOptionMaybe (keyword "as") *> typeName) > <*> option "" (keyword "constraint" *> idString) > <*> tryOptionMaybe (keyword "check" *> parens expr)@@ -835,7 +744,7 @@ > ,Table <$ keyword "table" > ,View <$ keyword "view" > ])-> (i,e,r) <- parseDrop idString+> (i,e,r) <- parseDrop name > return $ DropSomething p x i e r > > dropFunction :: SParser Statement@@ -845,7 +754,7 @@ > (i,e,r) <- parseDrop pFun > return $ DropFunction p i e r > where-> pFun = (,) <$> idString+> pFun = (,) <$> name > <*> parens (commaSep typeName) > > parseDrop :: SParser a@@ -869,13 +778,13 @@ > createTrigger :: SParser Statement > createTrigger = > CreateTrigger <$> pos-> <*> (keyword "trigger" *> idString)+> <*> (keyword "trigger" *> nameComponent) > <*> twhen > <*> tevents-> <*> (keyword "on" *> idString)+> <*> (keyword "on" *> name) > <*> tfiring > <*> (keyword "execute" *> keyword "procedure"-> *> idString)+> *> name) > <*> parens (commaSep expr) > where > twhen = choice [TriggerBefore <$ keyword "before"@@ -922,14 +831,27 @@ > itemList = commaSep1 selectItem > selectItem = pos >>= \p -> > optionalSuffix-> (SelExp p) expr-> (SelectItem p) () (keyword "as" *> idString)+> (SelExp p) (starExpr <|> expr)+> (SelectItem p) () (keyword "as" *> nameComponent)++should try to factor this into the standard expr parse (use a flag) so+that can left factor the 'name component . ' part and avoid the try++> starExpr :: SParser ScalarExpr+> starExpr = choice [Star <$> pos <* symbol "*"+> ,try $ do+> p <- pos+> nc <- nameComponent+> symbol "."+> symbol "*"+> return $ QStar p nc]+ > > returning :: SParser SelectList > returning = keyword "returning" *> selectList >-> columnNameList :: SParser [String]-> columnNameList = parens $ commaSep1 idString+> columnNameList :: SParser [NameComponent]+> columnNameList = parens $ commaSep1 nameComponent > > typeName :: SParser TypeName > typeName =@@ -1049,7 +971,7 @@ > -- put the := in the first try to attempt to get a > -- better error if the code looks like malformed > -- assignment statement-> <*> try (qName <* (symbol ":=" <|> symbol "="))+> <*> try (name <* (symbol ":=" <|> symbol "=")) > <*> expr > > returnSt :: SParser Statement@@ -1073,7 +995,7 @@ > forStatement :: Annotation -> Maybe String -> SParser Statement > forStatement p l = do > keyword "for"-> start <- qName+> start <- nameComponent > keyword "in" > choice [ForQueryStatement p l start > <$> try pQueryExpr <*> theRest@@ -1142,6 +1064,7 @@ > expr :: SParser ScalarExpr > expr = buildExpressionParser table factor > <?> "expression"+ > > factor :: SParser ScalarExpr > factor =@@ -1194,7 +1117,7 @@ > ,numberLit put the factors which start with keywords before the ones which start-with a function, so we don't try an parse a keyword as a function name+with a function, so you don't try an parse a keyword as a function name > ,caseScalarExpr > ,exists@@ -1202,27 +1125,12 @@ > ,nullLit > ,arrayLit > ,castKeyword-> ,substring+> ,try substring -- use try cos there is also a regular function called substring > ,extract -now do identifiers, functions, and window functions (each is a prefix-to the next one)--want to allow splices in e.g. function calls: $(fnname)(). To do this,-don't want to parse anti expression above, but need to parse these-following suffixes starting with a splice, but if there is no suffix,-want to parse as an antiexpression rather than an antiidentifier--> ,try $ do-> i <- antiIdentifier-> choice [inPredicateSuffix i-> ,threadOptionalSuffix (functionCallSuffix i)-> windowFnSuffix]--> ,antiScalarExpr-> ,antiIdentifier1 > ,try interval > ,try typedStringLit+> ,antiScalarExpr > ,identifier > ] @@ -1301,11 +1209,11 @@ > postfixks = unaryCust Postfix . mapM_ keyword > binarycust opParse t = > Infix $ try $ do-> f <- FunCall <$> pos <*> (t <$ opParse)+> f <- FunCall <$> pos <*> (nm emptyAnnotation t <$ opParse) > return (\l m -> f [l,m]) > unaryCust ctor opParse t = > ctor $ try $ do-> f <- FunCall <$> pos <*> (t <$ opParse)+> f <- FunCall <$> pos <*> (nm emptyAnnotation t <$ opParse) > return (\l -> f [l]) > -- hack - haven't worked out why parsec buildexpression parser won't > -- parse something like "not not EXPR" without parens so hack here@@ -1315,8 +1223,8 @@ > keyword "not" > p2 <- pos > keyword "not"-> return (\l -> FunCall p1 "!not"-> [FunCall p2 "!not" [l]]))+> return (\l -> FunCall p1 (nm p1 "!not")+> [FunCall p2 (nm p2 "!not") [l]])) From postgresql src/backend/parser/gram.y @@ -1385,7 +1293,7 @@ > rowCtor :: SParser ScalarExpr > rowCtor = FunCall > <$> pos-> <*> return "!rowctor"+> <*> (nm <$> pos <*> return "!rowctor") > <*> choice [ > keyword "row" *> parens (commaSep expr) > ,parens $ commaSep2 expr]@@ -1433,29 +1341,25 @@ > > arrayLit :: SParser ScalarExpr > arrayLit = FunCall <$> pos <* keyword "array"-> <*> return "!arrayctor"+> <*> (nm <$> pos <*> return "!arrayctor") > <*> squares (commaSep expr) > > arraySubSuffix :: ScalarExpr -> SParser ScalarExpr > arraySubSuffix e = case e of-> Identifier _ "array" -> fail "can't use array \-> \as identifier name"+> Identifier _ (Nmc "array") -> fail "can't use array \+> \as identifier name" > _ -> FunCall <$> pos-> <*> return "!arraysub"+> <*> (nm <$> pos <*> return "!arraysub") > <*> ((e:) <$> squares (commaSep1 expr)) > > windowFnSuffix :: ScalarExpr -> SParser ScalarExpr > windowFnSuffix e = WindowFn <$> pos <*> return e > <*> (keyword "over" > *> (symbol "(" *> option [] partitionBy))-> <*> option [] orderBy1-> <*> option Asc (try $ choice [-> Asc <$ keyword "asc"-> ,Desc <$ keyword "desc"])+> <*> orderBy > <*> frm > <* symbol ")" > where-> orderBy1 = keyword "order" *> keyword "by" *> commaSep1 expr > partitionBy = keyword "partition" *> keyword "by" *> commaSep1 expr > frm = option FrameUnboundedPreceding $ choice > $ map (\(a,b) -> a <$ try (ks b)) [@@ -1498,15 +1402,49 @@ > b <- b_expr > keyword "and" > c <- b_expr-> return $ FunCall p "!between" [a,b,c]+> return $ FunCall p (nm p "!between") [a,b,c] +handles aggregate business as well +can use a * in aggregate calls and in window functions. This+represents a call to an aggregate which has no parameters, so count(*)+actually means count():++select count() from pg_attrdef;+ERROR: count(*) must be used to call a parameterless aggregate function+LINE 1: select count() from pg_attrdef;++But you can't write it as count() ... ?++You cannot use * together with either distinct or order by, and it+cannot be qualified.++This parser is used as the prefix of the window function parser so+both are handled here. This will parse non aggregate calls containing+a single * argument without error - this will have to be caught during+typechecking. It also parses the aggregate extras (distinct and order+by) for non aggregate calls without error, so this also will need to+be caught during typechecking. The typechecker doesn't really do much+checking with aggregates at the moment so should fix it all together.+ > functionCallSuffix :: ScalarExpr -> SParser ScalarExpr-> functionCallSuffix (Identifier _ fnName) =-> pos >>= \p -> FunCall p fnName-> <$> parens (optional (keyword "all"-> <|> keyword "distinct")-> *> commaSep expr)+> functionCallSuffix (Identifier _ (Nmc fnName)) = do+> p <- pos+> (di,as,ob) <- parens+> $ choice [ -- handle a single *+> (Nothing,,[]) <$> ((:[]) <$> (Star <$> pos <* symbol "*"))+> ,(,,)+> <$> optionMaybe+> (choice [Distinct <$ keyword "distinct"+> ,Dupes <$ keyword "all"])+> <*> commaSep expr+> <*> orderBy]+> return $ case (di,ob) of+> (Nothing,[]) -> FunCall p (nm p fnName) as+> (d,o) -> AggregateFn p (fromMaybe Dupes d) (FunCall p (nm p fnName) as) o+> --hack for antiquoted function name+> functionCallSuffix (AntiScalarExpr n) =+> functionCallSuffix (Identifier emptyAnnotation (Nmc $ "$(" ++ n ++ ")")) > functionCallSuffix s = > fail $ "cannot make functioncall from " ++ show s >@@ -1592,58 +1530,84 @@ > keyword "for" > c <- expr > symbol ")"-> return $ FunCall p "!substring" [a,b,c]+> return $ FunCall p (nm p "!substring") [a,b,c] >++------------------------------------------------------------++identifier wasteland++> qualIdSuffix :: ScalarExpr -> SParser ScalarExpr+> qualIdSuffix (Identifier p i) = do+> i1 <- symbol "." *> nameComponent+> return $ QIdentifier p [i,i1]+> qualIdSuffix e = do+> p <- pos+> i1 <- symbol "." *> nameComponent+> return $ FunCall p (nm p ".") [e,Identifier p i1]++ > identifier :: SParser ScalarExpr-> identifier = Identifier <$> pos <*> (idString <|> splice)+> identifier = Identifier <$> pos <*> nameComponent >-> qualIdSuffix :: ScalarExpr -> SParser ScalarExpr-> qualIdSuffix ex = pos >>= \p -> QIdentifier p ex <$> (symbol "." *> idString) -> antiIdentifier :: SParser ScalarExpr-> antiIdentifier = Identifier <$> pos <*> spliceD+bit hacky, avoid a bunch of keywords. Not exactly sure which keywords+should be in the blacklist, and where this parser should be used+instead of the full parser which allows keywords. Also not sure if+keywords used in qualified names should be rejected the same as+keywords which are unqualified. -> antiIdentifier1 :: SParser ScalarExpr-> antiIdentifier1 = Identifier <$> pos <*> ssplice-> where-> ssplice = (\s -> "$i(" ++ s ++ ")") <$>-> (symbol "$i(" *> idString <* symbol ")")+> nonKeywordNc :: SParser NameComponent+> nonKeywordNc = do+> x <- nameComponent+> if x `elem` badKeywords+> then fail "not keyword (NameComponent)"+> else return x+> where+> badKeywords = map Nmc+> ["as"+> ,"where"+> ,"except"+> ,"union"+> ,"intersect"+> ,"loop"+> ,"inner"+> ,"on"+> ,"left"+> ,"right"+> ,"full"+> ,"cross"+> ,"join"+> ,"natural"+> ,"order"+> ,"group"+> ,"limit"+> ,"using"+> ,"from"] -qualified names are parsed using "." as an operator so they become-FunCall nodes. But we don't want to parse any expression when we are-expecting a qualified name only, so create a specialized parser just-for that -> qName :: SParser ScalarExpr-> qName = do-> i <- identifier-> choice [do-> p <- pos-> symbol "."-> i1 <- idString-> return $ QIdentifier p i i1-> ,return i]+> nonKeywordNcs :: SParser [NameComponent]+> nonKeywordNcs = sepBy1 nonKeywordNc (symbol ".") -> dqi :: SParser SQIdentifier-> dqi = do-> p <- pos-> i <- idString-> choice [do-> is <- suffix-> return $ SQIdentifier p (i:is)-> ,return $ SQIdentifier p [i]-> ]-> where-> suffix = do-> symbol "."-> i1 <- idString-> choice [do-> is <- suffix-> return (i1:is)-> ,return [i1]-> ]+> ncs :: SParser [NameComponent]+> ncs = sepBy1 nameComponent (symbol ".") +> name :: SParser Name+> name = Name <$> pos <*> ncs +> nonKeywordName :: SParser Name+> nonKeywordName = Name <$> pos <*> nonKeywordNcs++> nameComponent :: SParser NameComponent+> nameComponent = choice [Nmc <$> idString+> ,QNmc <$> qidString+> ,Nmc <$> spliceD+> ,Nmc <$> ssplice]+> where+> ssplice = (\s -> "$i(" ++ s ++ ")") <$>+> (symbol "$i(" *> idString <* symbol ")")++ -------------------------------------------------------------------------------- Utility parsers@@ -1653,7 +1617,7 @@ ------------- keyword has to not be immediately followed by letters or numbers-(symbols and whitespace are ok) so we know that we aren't reading an+(symbols and whitespace are ok) so you know that we aren't reading an identifier which happens to start with a complete keyword > keyword :: String -> SParser ()@@ -1674,7 +1638,23 @@ > ids = mytoken (\tok -> case tok of > IdStringTok "not" -> Nothing > IdStringTok i -> Just i+> -- have to go through and fix every+> -- use of idString to make this work correctly+> -- idstring is used LOADS+> -- lots of places in the ast probably need fixing > _ -> Nothing)+> qidString :: SParser String+> qidString =+> choice [(\l -> "$(" ++ l ++ ")")+> <$> (symbol "$(" *> idString <* symbol ")")+> ,ids+> ]+> where+> ids = mytoken (\tok -> case tok of+> QIdStringTok i -> Just i+> _ -> Nothing)++ > > spliceD :: SParser String > spliceD = (\x -> "$(" ++ x ++ ")") <$> splice@@ -1772,7 +1752,7 @@ > matchAKeyword [] = fail "no matches" > matchAKeyword ((k,v):kvs) = v <$ keyword k <|> matchAKeyword kvs -parseOptionalSuffix+optionalSuffix parse the start of something -> parseResultA, then parse an optional suffix -> parseResultB@@ -1784,7 +1764,7 @@ fieldName or fieldName as alias-so we can pass+so you can pass * IdentifierCtor * identifier (returns aval) * AliasedIdentifierCtor@@ -1794,7 +1774,7 @@ parseOptionalSuffix IdentifierCtor identifierParser AliasedIdentifierCtor () asAliasParser-and we get either+and you get either * IdentifierCtor identifierValue or * AliasedIdentifierCtor identifierValue aliasValue@@ -1815,53 +1795,7 @@ > x <- p1 > option (c1 x) (c2 x <$> try p2) -threadOptionalSuffix -parse the start of something -> parseResultA,-then parse an optional suffix, passing parseResultA- to this parser -> parseResultB-return parseResultB is it succeeds, else return parseResultA--sort of like a suffix operator parser where the suffixisable part-is parsed, then if the suffix is there it wraps the suffixisable-part in an enclosing tree node.--parser1 -> tree1-(parser2 tree1) -> maybe tree2-tree2 isnothing ? tree1 : tree2--> threadOptionalSuffix :: ParsecT [tok] st Identity a-> -> (a -> GenParser tok st a)-> -> ParsecT [tok] st Identity a-> threadOptionalSuffix p1 p2 = do-> x <- p1-> option x (try $ p2 x)--I'm pretty sure this is some standard monad operation but I don't know-what. It's a bit like the maybe monad but when you get nothing it-returns the previous result instead of nothing-- if you take the parsing specific stuff out you get:--p1 :: (Monad m) =>- m b -> (b -> m (Maybe b)) -> m b-p1 = do- x <- p1- y <- p2 x- case y of- Nothing -> return x- Just z -> return z-=====--like thread optional suffix, but we pass a list of suffixes in, not-much of a shorthand--> {- threadOptionalSuffixes :: ParsecT [tok] st Identity a-> -> [a -> GenParser tok st a]-> -> ParsecT [tok] st Identity a-> threadOptionalSuffixes p1 p2s = do-> x <- p1-> option x (try $ choice (map (\l -> l x) p2s))-}- couldn't work how to to perms so just did this hack instead e.g. a1,a2,b1,b2,a2,b3,b4 parses to ([a1,a2,a3],[b1,b2,b3,b4])@@ -1917,7 +1851,7 @@ This gets parsed as funcall operator [expr1,funcall [any|some|all] [expr2,...]]-and we want to transform it to+and you want to transform it to liftoperator operator any|some|all [expr1, expr2,...] not doing anything if the funcall name isn't any,some,all any other checks are left to the type checking stage@@ -1928,15 +1862,16 @@ > fixupTree = > transformBi $ \x -> > case x of-> FunCall an op (expr1:FunCall _ nm expr2s:expr3s)-> | isOperatorName op-> && map toLower nm `elem` ["any", "some", "all"]-> -> LiftOperator an op flav (expr1:expr2s ++ expr3s)-> where flav = case map toLower nm of-> "any" -> LiftAny-> "some" -> LiftAny-> "all" -> LiftAll-> z -> error $ "internal error in parsing lift transform: " ++ z+> FunCall an op (expr1:FunCall _ fn expr2s:expr3s)+> | Name _ [Nmc opnm] <- op+> , isOperatorName opnm+> , Name _ [Nmc fnm] <- fn+> , Just flav <- case map toLower fnm of+> "any" -> Just LiftAny+> "some" -> Just LiftAny+> "all" -> Just LiftAll+> _ -> Nothing+> -> LiftOperator an opnm flav (expr1:expr2s ++ expr3s) > x1 -> x1 --------------------------------------------------------------------------------
src/Database/HsSqlPpp/Pretty.lhs view
@@ -21,11 +21,11 @@ > where > > import Text.PrettyPrint-> import Data.Char+> --import Data.Char > --import Data.List > import Data.Maybe >-> import Database.HsSqlPpp.Ast+> import Database.HsSqlPpp.Ast -- hiding (ncStr) > import Database.HsSqlPpp.Annotation > import Database.HsSqlPpp.Catalog > import Database.HsSqlPpp.Utils.Utils@@ -42,21 +42,21 @@ > -- text using the function provided and interpolate the output of > -- this function(inside comments) with the SQL source. > printStatementsAnn :: (Annotation -> String) -> StatementList -> String-> printStatementsAnn f ast = render $ vcat (map (convStatement False True f) ast) <> text "\n"+> printStatementsAnn f ast = render $ vcat (map (statement False True f) ast) <> text "\n" > > printQueryExpr :: QueryExpr -> String-> printQueryExpr ast = render (convQueryExpr False True True ast <> statementEnd True)+> printQueryExpr ast = render (queryExpr False True True Nothing ast <> statementEnd True) > -- | Testing function, pretty print an expression > printScalarExpr :: ScalarExpr -> String-> printScalarExpr = render . convExp False+> printScalarExpr = render . scalExpr False > -- | Try harder to make the output human readable, not necessary correct > -- sql output at the moment > printQueryExprNice :: QueryExpr -> String-> printQueryExprNice ast = render (convQueryExpr True True True ast <> statementEnd True)+> printQueryExprNice ast = render (queryExpr True True True Nothing ast <> statementEnd True) -------------------------------------------------------------------------------@@ -65,120 +65,121 @@ > -- Statements >-> convStatement :: Bool -> Bool -> (Annotation -> String) -> Statement -> Doc+> statement :: Bool -> Bool -> (Annotation -> String) -> Statement -> Doc+> statement _nice _se _ca (AntiStatement s) = text $ "$(" ++ s ++ ")" > > -- selects >-> convStatement nice se ca (QueryStatement ann s) =-> convPa ca ann <+>-> convQueryExpr nice True True s <> statementEnd se+> statement nice se ca (QueryStatement ann s) =+> annot ca ann <+>+> queryExpr nice True True Nothing s <> statementEnd se > > --dml >-> convStatement nice se pa (Insert ann tb atts idata rt) =-> convPa pa ann <+>-> text "insert into" <+> convDqi tb-> <+> ifNotEmpty (parens . sepCsvMap text) atts-> $+$ convQueryExpr nice True True idata-> $+$ convReturning nice rt+> statement nice se pa (Insert ann tb atts idata rt) =+> annot pa ann <+>+> text "insert into" <+> name tb+> <+> ifNotEmpty (parens . sepCsvMap nmc) atts+> $+$ queryExpr nice True True Nothing idata+> $+$ returning nice rt > <> statementEnd se >-> convStatement nice se ca (Update ann tb scs fr wh rt) =-> convPa ca ann <+>-> text "update" <+> convDqi tb <+> text "set"-> <+> sepCsvMap (convSet nice) scs-> <+> ifNotEmpty (\_ -> text "from" <+> sepCsvMap (convTref nice) fr) fr-> <+> convWhere nice wh-> $+$ convReturning nice rt <> statementEnd se+> statement nice se ca (Update ann tb scs fr wh rt) =+> annot ca ann <+>+> text "update" <+> name tb <+> text "set"+> <+> sepCsvMap (set nice) scs+> <+> ifNotEmpty (\_ -> text "from" <+> sepCsvMap (tref nice) fr) fr+> <+> whr nice wh+> $+$ returning nice rt <> statementEnd se >-> convStatement nice se ca (Delete ann tbl us wh rt) =-> convPa ca ann <+>-> text "delete from" <+> convDqi tbl-> <+> ifNotEmpty (\_ -> text "using" <+> sepCsvMap (convTref nice) us) us-> <+> convWhere nice wh-> $+$ convReturning nice rt+> statement nice se ca (Delete ann tbl us wh rt) =+> annot ca ann <+>+> text "delete from" <+> name tbl+> <+> ifNotEmpty (\_ -> text "using" <+> sepCsvMap (tref nice) us) us+> <+> whr nice wh+> $+$ returning nice rt > <> statementEnd se >-> convStatement _nice se ca (Truncate ann names ri casc) =-> convPa ca ann <+>+> statement _nice se ca (Truncate ann names ri casc) =+> annot ca ann <+> > text "truncate"-> <+> sepCsvMap text names+> <+> sepCsvMap name names > <+> text (case ri of > RestartIdentity -> "restart identity" > ContinueIdentity -> "continue identity")-> <+> convCasc casc+> <+> cascade casc > <> statementEnd se > > -- ddl >-> convStatement nice se ca (CreateTable ann tbl atts cns) =-> convPa ca ann <+>+> statement nice se ca (CreateTable ann tbl atts cns) =+> annot ca ann <+> > text "create table"-> <+> text tbl <+> lparen-> $+$ nest 2 (vcat (csv (map convAttDef atts ++ map (convCon nice) cns)))+> <+> name tbl <+> lparen+> $+$ nest 2 (vcat (csv (map attrDef atts ++ map (constraint nice) cns))) > $+$ rparen <> statementEnd se > where-> convAttDef (AttributeDef _ n t def cons) =-> text n <+> convTypeName t-> <+> maybeConv (\e -> text "default" <+> convExp nice e) def+> attrDef (AttributeDef _ n t def cons) =+> nmc n <+> typeName t+> <+> maybePrint (\e -> text "default" <+> scalExpr nice e) def > <+> hsep (map cCons cons) > cCons (NullConstraint _ cn) = > mname cn <+> text "null" > cCons (NotNullConstraint _ cn) = > mname cn <+> text "not null" > cCons (RowCheckConstraint _ cn ew) =-> mname cn <+> text "check" <+> parens (convExp nice ew)+> mname cn <+> text "check" <+> parens (scalExpr nice ew) > cCons (RowUniqueConstraint _ cn) = > mname cn <+> text "unique" > cCons (RowPrimaryKeyConstraint _ cn) = > mname cn <+> text "primary key" > cCons (RowReferenceConstraint _ cn tb att ondel onupd) =-> mname cn <+> text "references" <+> text tb-> <+> maybeConv (parens . text) att-> <+> text "on delete" <+> convCasc ondel-> <+> text "on update" <+> convCasc onupd+> mname cn <+> text "references" <+> name tb+> <+> maybePrint (parens . nmc) att+> <+> text "on delete" <+> cascade ondel+> <+> text "on update" <+> cascade onupd >-> convStatement nice se ca (AlterTable ann name act) =-> convPa ca ann <+>-> text "alter table" <+> text name-> <+> hcatCsvMap convAct act <> statementEnd se+> statement nice se ca (AlterTable ann nm act) =+> annot ca ann <+>+> text "alter table" <+> name nm+> <+> hcatCsvMap alterAction act <> statementEnd se > where-> convAct (AlterColumnDefault _ nm def) =-> text "alter column" <+> text nm-> <+> text "set default" <+> convExp nice def-> convAct (AddConstraint _ con) =-> text "add " <+> convCon nice con+> alterAction (AlterColumnDefault _ cnm def) =+> text "alter column" <+> nmc cnm+> <+> text "set default" <+> scalExpr nice def+> alterAction (AddConstraint _ con) =+> text "add " <+> constraint nice con >-> convStatement _nice se ca (CreateSequence ann nm incr _ _ start cache) =-> convPa ca ann <+>-> text "create sequence" <+> text nm <+>+> statement _nice se ca (CreateSequence ann nm incr _ _ start cache) =+> annot ca ann <+>+> text "create sequence" <+> name nm <+> > text "increment" <+> text (show incr) <+> > text "no minvalue" <+> > text "no maxvalue" <+> > text "start" <+> text (show start) <+> > text "cache" <+> text (show cache) <> statementEnd se >-> convStatement _nice se ca (AlterSequence ann nm o) =-> convPa ca ann <+>-> text "alter sequence" <+> text nm-> <+> text "owned by" <+> convDqi o <> statementEnd se+> statement _nice se ca (AlterSequence ann nm o) =+> annot ca ann <+>+> text "alter sequence" <+> name nm+> <+> text "owned by" <+> name o <> statementEnd se >-> convStatement nice se ca (CreateTableAs ann t sel) =-> convPa ca ann <+>+> statement nice se ca (CreateTableAs ann t sel) =+> annot ca ann <+> > text "create table"-> <+> text t <+> text "as"-> $+$ convQueryExpr nice True True sel+> <+> name t <+> text "as"+> $+$ queryExpr nice True True Nothing sel > <> statementEnd se >-> convStatement nice se ca (CreateFunction ann name args retType rep lang body vol) =-> convPa ca ann <+>+> statement nice se ca (CreateFunction ann nm args retType rep lang body vol) =+> annot ca ann <+> > text ("create " ++ (case rep of > Replace -> "or replace " > _ -> "") ++ "function")-> <+> text name-> <+> parens (sepCsvMap convParamDef args)-> <+> text "returns" <+> convTypeName retType <+> text "as" <+> text "$$"-> $+$ convFnBody body+> <+> name nm+> <+> parens (sepCsvMap paramDefn args)+> <+> text "returns" <+> typeName retType <+> text "as" <+> text "$$"+> $+$ functionBody body > $+$ text "$$" <+> text "language" > <+> text (case lang of > Sql -> "sql"@@ -189,251 +190,255 @@ > Immutable -> "immutable") > <> statementEnd se > where-> convFnBody (SqlFnBody ann1 sts) =-> convPa ca ann1 <+>-> convNestedStatements nice ca sts-> convFnBody (PlpgsqlFnBody ann1 blk) =-> convPa ca ann1 <+>-> convStatement nice True ca blk-> convParamDef (ParamDef _ n t) = text n <+> convTypeName t-> convParamDef (ParamDefTp _ t) = convTypeName t+> functionBody (SqlFnBody ann1 sts) =+> annot ca ann1 <+>+> nestedStatements nice ca sts+> functionBody (PlpgsqlFnBody ann1 blk) =+> annot ca ann1 <+>+> statement nice True ca blk+> paramDefn (ParamDef _ n t) = nmc n <+> typeName t+> paramDefn (ParamDefTp _ t) = typeName t >-> convStatement nice se ca (Block ann lb decls sts) =-> convPa ca ann <+>-> convLabel lb <>+> statement nice se ca (Block ann lb decls sts) =+> annot ca ann <+>+> label lb <> > ifNotEmpty (\l -> text "declare"-> $+$ nest 2 (vcat $ map convVarDef l)) decls+> $+$ nest 2 (vcat $ map varDefn l)) decls > $+$ text "begin"-> $+$ convNestedStatements nice ca sts+> $+$ nestedStatements nice ca sts > $+$ text "end" <> statementEnd se > where-> convVarDef (VarDef _ n t v) =-> text n <+> convTypeName t-> <+> maybeConv (\x -> text ":=" <+> convExp nice x) v <> semi-> convVarDef (VarAlias _ n n1) =-> text n <+> text "alias for" <+> text n1 <> semi-> convVarDef (ParamAlias _ n p) =-> text n <+> text "alias for $" <> text (show p) <> semi+> varDefn (VarDef _ n t v) =+> nmc n <+> typeName t+> <+> maybePrint (\x -> text ":=" <+> scalExpr nice x) v <> semi+> varDefn (VarAlias _ n n1) =+> nmc n <+> text "alias for" <+> name n1 <> semi+> varDefn (ParamAlias _ n p) =+> nmc n <+> text "alias for $" <> text (show p) <> semi > >-> convStatement nice se ca (CreateView ann name cols sel) =-> convPa ca ann <+>-> text "create view" <+> text name+> statement nice se ca (CreateView ann nm cols sel) =+> annot ca ann <+>+> text "create view" <+> name nm > <> case cols of > Nothing -> empty-> Just cs -> parens (sepCsvMap text cs)+> Just cs -> parens (sepCsvMap nmc cs) > <+> text "as"-> $+$ nest 2 (convQueryExpr nice True True sel) <> statementEnd se+> $+$ nest 2 (queryExpr nice True True Nothing sel) <> statementEnd se >-> convStatement nice se ca (CreateDomain ann name tp n ex) =-> convPa ca ann <+>-> text "create domain" <+> text name <+> text "as"-> <+> convTypeName tp <+> cname <+> checkExp ex <> statementEnd se+> statement nice se ca (CreateDomain ann nm tp n ex) =+> annot ca ann <+>+> text "create domain" <+> name nm <+> text "as"+> <+> typeName tp <+> cname <+> checkExp ex <> statementEnd se > where-> checkExp = maybeConv (\e -> text "check" <+> parens (convExp nice e))+> checkExp = maybePrint (\e -> text "check" <+> parens (scalExpr nice e)) > cname = if n == "" > then empty > else text "constraint" <+> text n >-> convStatement _nice se ca (DropFunction ann ifExists fns casc) =-> convPa ca ann <+>+> statement _nice se ca (DropFunction ann ifE fns casc) =+> annot ca ann <+> > text "drop function"-> <+> convIfExists ifExists+> <+> ifExists ifE > <+> sepCsvMap doFunction fns-> <+> convCasc casc+> <+> cascade casc > <> statementEnd se > where-> doFunction (name,types) =-> text name <> parens (sepCsvMap convTypeName types)+> doFunction (nm,types) =+> name nm <> parens (sepCsvMap typeName types) >-> convStatement _nice se ca (DropSomething ann dropType ifExists names casc) =-> convPa ca ann <+>+> statement _nice se ca (DropSomething ann dropType ifE names casc) =+> annot ca ann <+> > text "drop" > <+> text (case dropType of > Table -> "table" > View -> "view" > Domain -> "domain" > Type -> "type")-> <+> convIfExists ifExists-> <+> sepCsvMap text names-> <+> convCasc casc+> <+> ifExists ifE+> <+> sepCsvMap name names+> <+> cascade casc > <> statementEnd se >-> convStatement _nice se ca (CreateType ann name atts) =-> convPa ca ann <+>-> text "create type" <+> text name <+> text "as" <+> lparen+> statement _nice se ca (CreateType ann nm atts) =+> annot ca ann <+>+> text "create type" <+> name nm <+> text "as" <+> lparen > $+$ nest 2 (vcat (csv-> (map (\(TypeAttDef _ n t) -> text n <+> convTypeName t) atts)))+> (map (\(TypeAttDef _ n t) -> nmc n <+> typeName t) atts))) > $+$ rparen <> statementEnd se >-> convStatement _nice se ca (CreateLanguage ann name) =-> convPa ca ann <+>-> text "create language" <+> text name <> statementEnd se+> statement _nice se ca (CreateLanguage ann nm) =+> annot ca ann <+>+> text "create language" <+> text nm <> statementEnd se >-> convStatement nice se ca (CreateTrigger ann name wh events tbl firing fnName fnArgs) =-> convPa ca ann <+>-> text "create trigger" <+> text name+> statement nice se ca (CreateTrigger ann nm wh events tbl firing fnName fnArgs) =+> annot ca ann <+>+> text "create trigger" <+> nmc nm > <+> text (case wh of > TriggerBefore -> "before" > TriggerAfter -> "after") > <+> evs-> <+> text "on" <+> text tbl+> <+> text "on" <+> name tbl > <+> text "for" <+> text (case firing of > EachRow -> "row" > EachStatement -> "statement")-> <+> text "execute procedure" <+> text fnName-> <> parens (sepCsvMap (convExp nice) fnArgs) <> statementEnd se+> <+> text "execute procedure" <+> name fnName+> <> parens (sepCsvMap (scalExpr nice) fnArgs) <> statementEnd se > where > evs = sep $ punctuate (text " or ") $ map > (text . (\e -> case e of > TInsert -> "insert" > TUpdate -> "update"-> TDelete -> "delete")) events+> TDelete -> "delete"+> AntiTriggerEvent s -> "$(" ++ s ++ ")")) events > > -- plpgsql >-> convStatement _nice se ca (NullStatement ann) =-> convPa ca ann <+> text "null" <> statementEnd se-> convStatement _nice se ca (ExitStatement ann lb) =-> convPa ca ann <+> text "exit"+> statement _nice se ca (NullStatement ann) =+> annot ca ann <+> text "null" <> statementEnd se+> statement _nice se ca (ExitStatement ann lb) =+> annot ca ann <+> text "exit" > <+> maybe empty text lb <> statementEnd se > -> convStatement _ _se _ca (Into _ann _str _into (QueryStatement _annq _s)) = error "no select into"+> statement nice se ca (Into ann str is (QueryStatement _ q)) =+> annot ca ann <+>+> queryExpr nice True True (Just (str,is)) q <> statementEnd se -> convStatement nice se ca (Into ann str into st) =-> convPa ca ann <+>-> convStatement nice False ca st++> statement nice se ca (Into ann str into st) =+> annot ca ann <+>+> statement nice False ca st > <+> text "into" > <> (if str > then empty <+> text "strict" > else empty)-> <+> sepCsvMap (convExp nice) into+> <+> sepCsvMap name into > <> statementEnd se > --fixme, should be insert,update,delete,execute -> convStatement nice se ca (Assignment ann name val) =-> convPa ca ann <+>-> convExp nice name <+> text ":=" <+> convExp nice val <> statementEnd se+> statement nice se ca (Assignment ann nm val) =+> annot ca ann <+>+> name nm <+> text ":=" <+> scalExpr nice val <> statementEnd se >-> convStatement nice se ca (Return ann ex) =-> convPa ca ann <+>-> text "return" <+> maybeConv (convExp nice) ex <> statementEnd se+> statement nice se ca (Return ann ex) =+> annot ca ann <+>+> text "return" <+> maybePrint (scalExpr nice) ex <> statementEnd se >-> convStatement nice se ca (ReturnNext ann ex) =-> convPa ca ann <+>-> text "return" <+> text "next" <+> convExp nice ex <> statementEnd se+> statement nice se ca (ReturnNext ann ex) =+> annot ca ann <+>+> text "return" <+> text "next" <+> scalExpr nice ex <> statementEnd se >-> convStatement nice se ca (ReturnQuery ann sel) =-> convPa ca ann <+>+> statement nice se ca (ReturnQuery ann sel) =+> annot ca ann <+> > text "return" <+> text "query"-> <+> convQueryExpr nice True True sel <> statementEnd se+> <+> queryExpr nice True True Nothing sel <> statementEnd se >-> convStatement nice se ca (Raise ann rt st exps) =-> convPa ca ann <+>+> statement nice se ca (Raise ann rt st exps) =+> annot ca ann <+> > text "raise" > <+> case rt of > RNotice -> text "notice" > RException -> text "exception" > RError -> text "error"-> <+> convExp nice (StringLit emptyAnnotation st)+> <+> scalExpr nice (StringLit emptyAnnotation st) > <> ifNotEmpty (\e -> comma <+> csvExp nice e) exps > <> statementEnd se >-> convStatement nice se ca (ForQueryStatement ann lb i sel stmts) =-> convPa ca ann <+>-> convLabel lb <>-> text "for" <+> convExp nice i <+> text "in"-> <+> convQueryExpr nice True True sel <+> text "loop"-> $+$ convNestedStatements nice ca stmts+> statement nice se ca (ForQueryStatement ann lb i sel stmts) =+> annot ca ann <+>+> label lb <>+> text "for" <+> nmc i <+> text "in"+> <+> queryExpr nice True True Nothing sel <+> text "loop"+> $+$ nestedStatements nice ca stmts > $+$ text "end loop" <> statementEnd se >-> convStatement nice se ca (ForIntegerStatement ann lb var st en stmts) =-> convPa ca ann <+>-> convLabel lb <>-> text "for" <+> convExp nice var <+> text "in"-> <+> convExp nice st <+> text ".." <+> convExp nice en <+> text "loop"-> $+$ convNestedStatements nice ca stmts+> statement nice se ca (ForIntegerStatement ann lb var st en stmts) =+> annot ca ann <+>+> label lb <>+> text "for" <+> nmc var <+> text "in"+> <+> scalExpr nice st <+> text ".." <+> scalExpr nice en <+> text "loop"+> $+$ nestedStatements nice ca stmts > $+$ text "end loop" <> statementEnd se >-> convStatement nice se ca (WhileStatement ann lb ex stmts) =-> convPa ca ann <+>-> convLabel lb <>-> text "while" <+> convExp nice ex <+> text "loop"-> $+$ convNestedStatements nice ca stmts+> statement nice se ca (WhileStatement ann lb ex stmts) =+> annot ca ann <+>+> label lb <>+> text "while" <+> scalExpr nice ex <+> text "loop"+> $+$ nestedStatements nice ca stmts > $+$ text "end loop" <> statementEnd se-> convStatement nice se ca (LoopStatement ann lb stmts) =-> convPa ca ann <+>-> convLabel lb <>+> statement nice se ca (LoopStatement ann lb stmts) =+> annot ca ann <+>+> label lb <> > text "loop"-> $+$ convNestedStatements nice ca stmts+> $+$ nestedStatements nice ca stmts > $+$ text "end loop" <> statementEnd se >-> convStatement _nice se ca (ContinueStatement ann lb) =-> convPa ca ann <+> text "continue"+> statement _nice se ca (ContinueStatement ann lb) =+> annot ca ann <+> text "continue" > <+> maybe empty text lb <> statementEnd se-> convStatement nice se ca (Perform ann f@(FunCall _ _ _)) =-> convPa ca ann <+>-> text "perform" <+> convExp nice f <> statementEnd se-> convStatement _ _ _ (Perform _ x) =-> error $ "internal error: convStatement not supported for " ++ show x+> statement nice se ca (Perform ann f@(FunCall _ _ _)) =+> annot ca ann <+>+> text "perform" <+> scalExpr nice f <> statementEnd se+> statement _ _ _ (Perform _ x) =+> error $ "internal error: statement not supported for " ++ show x >-> convStatement _nice se ca (Copy ann tb cols src) =-> convPa ca ann <+>-> text "copy" <+> text tb-> <+> ifNotEmpty (parens . sepCsvMap text) cols+> statement _nice se ca (Copy ann tb cols src) =+> annot ca ann <+>+> text "copy" <+> name tb+> <+> ifNotEmpty (parens . sepCsvMap nmc) cols > <+> text "from" > <+> case src of > CopyFilename s -> quotes $ text s <> statementEnd se > Stdin -> text "stdin" <> text ";" >-> convStatement _ _ ca (CopyData ann s) =-> convPa ca ann <+>+> statement _ _ ca (CopyData ann s) =+> annot ca ann <+> > text s <> text "\\." <> newline >-> convStatement nice se ca (If ann conds els) =-> convPa ca ann <+>-> text "if" <+> convCond (head conds)-> $+$ vcat (map (\c -> text "elseif" <+> convCond c) $ tail conds)-> $+$ ifNotEmpty (\e -> text "else" $+$ convNestedStatements nice ca e) els+> statement nice se ca (If ann conds els) =+> annot ca ann <+>+> text "if" <+> constraintd (head conds)+> $+$ vcat (map (\c -> text "elseif" <+> constraintd c) $ tail conds)+> $+$ ifNotEmpty (\e -> text "else" $+$ nestedStatements nice ca e) els > $+$ text "end if" <> statementEnd se > where-> convCond (ex, sts) = convExp nice ex <+> text "then"-> $+$ convNestedStatements nice ca sts-> convStatement nice se ca (Execute ann s) =-> convPa ca ann <+>-> text "execute" <+> convExp nice s <> statementEnd se+> constraintd (ex, sts) = scalExpr nice ex <+> text "then"+> $+$ nestedStatements nice ca sts+> statement nice se ca (Execute ann s) =+> annot ca ann <+>+> text "execute" <+> scalExpr nice s <> statementEnd se > >-> convStatement nice se ca (CaseStatementSimple ann c conds els) =-> convPa ca ann <+>-> text "case" <+> convExp nice c+> statement nice se ca (CaseStatementSimple ann c conds els) =+> annot ca ann <+>+> text "case" <+> scalExpr nice c > $+$ nest 2 (-> vcat (map (uncurry convWhenSt) conds)-> $+$ convElseSt els+> vcat (map (uncurry whenStatement) conds)+> $+$ elseStatement els > ) $+$ text "end case" <> statementEnd se > where-> convWhenSt ex sts = text "when" <+> sepCsvMap (convExp nice) ex-> <+> text "then" $+$ convNestedStatements nice ca sts-> convElseSt = ifNotEmpty (\s -> text "else"-> $+$ convNestedStatements nice ca s)-> convStatement nice se ca (CaseStatement ann conds els) =-> convPa ca ann <+>+> whenStatement ex sts = text "when" <+> sepCsvMap (scalExpr nice) ex+> <+> text "then" $+$ nestedStatements nice ca sts+> elseStatement = ifNotEmpty (\s -> text "else"+> $+$ nestedStatements nice ca s)+> statement nice se ca (CaseStatement ann conds els) =+> annot ca ann <+> > text "case" > $+$ nest 2 (-> vcat (map (uncurry convWhenSt) conds)-> $+$ convElseSt els+> vcat (map (uncurry whenStatement) conds)+> $+$ elseStatement els > ) $+$ text "end case" <> statementEnd se > where-> convWhenSt ex sts = text "when" <+> sepCsvMap (convExp nice) ex-> <+> text "then" $+$ convNestedStatements nice ca sts-> convElseSt = ifNotEmpty (\s -> text "else"-> $+$ convNestedStatements nice ca s)+> whenStatement ex sts = text "when" <+> sepCsvMap (scalExpr nice) ex+> <+> text "then" $+$ nestedStatements nice ca sts+> elseStatement = ifNotEmpty (\s -> text "else"+> $+$ nestedStatements nice ca s) > > -- misc >-> convStatement _nice se _ (Set _ n vs) =+> statement _nice se _ (Set _ n vs) = > text "set" <+> text n <+> text "=" > <+> sepCsvMap (text . dv) vs <> statementEnd se > where@@ -441,7 +446,7 @@ > dv (SetId _ i) = i > dv (SetNum _ nm) = show nm >-> convStatement _nice se _ (Notify _ n) =+> statement _nice se _ (Notify _ n) = > text "notify" <+> text n <> statementEnd se > > statementEnd :: Bool -> Doc@@ -455,64 +460,76 @@ > -- selects >-> convQueryExpr :: Bool -> Bool -> Bool -> QueryExpr -> Doc-> convQueryExpr nice writeSelect _ (Select _ dis l tb wh grp hav-> order lim off) =+> queryExpr :: Bool -> Bool -> Bool -> Maybe (Bool,[Name]) -> QueryExpr -> Doc+> queryExpr nice writeSelect _ intoi (Select _ dis l tb wh grp hav+> order lim off) = > (text (if writeSelect then "select" else "") > <+> (case dis of > Dupes -> empty > Distinct -> text "distinct")) > $+$ nest 2 (vcat $ catMaybes-> [Just $ nest 2 $ convSelList nice l+> [fmap (\(str,is) -> text "into"+> <+> (if str+> then text "strict"+> else empty)+> <+> sepCsvMap name is) intoi+> ,Just $ nest 2 $ selectList nice l > ,Just $ if null tb > then empty-> else text "from" $+$ nest 2 (sepCsvMap (convTref nice) tb)-> ,Just $ convWhere nice wh+> else text "from" $+$ nest 2 (sepCsvMap (tref nice) tb)+> ,Just $ whr nice wh > ,case grp of > [] -> Nothing-> g -> Just $ text "group by" $+$ nest 2 (sepCsvMap (convExp nice) g)-> ,flip fmap hav $ \h -> text "having" $+$ nest 2 (convExp nice h)-> ,case order of-> [] -> Nothing-> o -> Just $ text "order by"-> $+$ nest 2 (sepCsvMap (\(oe,od) -> convExp nice oe-> <+> convDir od) o)-> ,flip fmap lim $ \lm -> text "limit" <+> convExp nice lm-> ,flip fmap off $ \offs -> text "offset" <+> convExp nice offs+> g -> Just $ text "group by" $+$ nest 2 (sepCsvMap (scalExpr nice) g)+> ,flip fmap hav $ \h -> text "having" $+$ nest 2 (scalExpr nice h)+> ,Just $ orderBy nice order+> ,flip fmap lim $ \lm -> text "limit" <+> scalExpr nice lm+> ,flip fmap off $ \offs -> text "offset" <+> scalExpr nice offs > ]) >-> convQueryExpr nice writeSelect topLev (CombineQueryExpr _ tp s1 s2) =-> let p = convQueryExpr nice writeSelect False s1+> queryExpr nice writeSelect topLev _ (CombineQueryExpr _ tp s1 s2) =+> let p = queryExpr nice writeSelect False Nothing s1 > $+$ (case tp of > Except -> text "except" > Union -> text "union" > UnionAll -> text "union" <+> text "all" > Intersect -> text "intersect")-> $+$ convQueryExpr nice True False s2+> $+$ queryExpr nice True False Nothing s2 > in if topLev then p else parens p-> convQueryExpr nice _ _ (Values _ expss) =+> queryExpr nice _ _ _ (Values _ expss) = > text "values" $$ nest 2 (vcat $ csv $ map (parens . csvExp nice) expss)-> convQueryExpr nice _ _ (WithQueryExpr _ wqs ex) =+> queryExpr nice _ _ _ (WithQueryExpr _ wqs ex) = > text "with" $$ nest 2 (vcat $ csv $ map pwq wqs)-> $+$ convQueryExpr nice True False ex+> $+$ queryExpr nice True False Nothing ex > where > pwq (WithQuery _ nm cs ex1) =-> text nm <> case cs of+> nmc nm <> case cs of > Nothing -> empty-> Just cs' -> parens $ sepCsvMap text cs'+> Just cs' -> parens $ sepCsvMap nmc cs' > <+> text "as"-> <+> parens (convQueryExpr nice True False ex1)+> <+> parens (queryExpr nice True False Nothing ex1)++> name :: Name -> Doc+> name (Name _ ns) = nmcs ns++> nmcs :: [NameComponent] -> Doc+> nmcs ns = hcat $ punctuate (text ".") $ map nmc ns++> nmc :: NameComponent -> Doc+> nmc (Nmc ns) = text ns+> nmc (QNmc ns) = doubleQuotes $ text ns+ >-> convTref :: Bool -> TableRef -> Doc-> convTref nice (Tref _ f@(SQIdentifier _ t) (TableAlias _ ta))-> | nice, last t == ta = convDqi f+> tref :: Bool -> TableRef -> Doc+> {-tref nice (Tref _ f@(SQIdentifier _ t) (TableAlias _ ta))+> | nice, last t == ta = name f > -- slightly bad hack:-> convTref nice (Tref _ f@(SQIdentifier _ t) (FullAlias _ ta _))-> | nice, last t == ta = convDqi f+> tref nice (Tref _ f@(SQIdentifier _ t) (FullAlias _ ta _))+> | nice, last t == ta = name f-} -> convTref nice (Tref _ f a) = convDqi f <+> convTrefAlias nice a-> convTref nice (JoinTref _ t1 nat jt t2 ex a) =-> parens (convTref nice t1+> tref nice (Tref _ f a) = name f <+> trefAlias nice a+> tref nice (JoinTref _ t1 nat jt t2 ex a) =+> parens (tref nice t1 > $+$ (case nat of > Natural -> text "natural" > Unnatural -> empty)@@ -523,112 +540,112 @@ > RightOuter -> "right outer" > FullOuter -> "full outer") > <+> text "join"-> <+> convTref nice t2-> <+> maybeConv (nest 2 . convJoinScalarExpr) ex-> <+> convTrefAlias nice a)+> <+> tref nice t2+> <+> maybePrint (nest 2 . joinScalarExpr) ex+> <+> trefAlias nice a) > where-> convJoinScalarExpr (JoinOn _ e) = text "on" <+> convExp nice e-> convJoinScalarExpr (JoinUsing _ ids) =-> text "using" <+> parens (sepCsvMap text ids)+> joinScalarExpr (JoinOn _ e) = text "on" <+> scalExpr nice e+> joinScalarExpr (JoinUsing _ ids) =+> text "using" <+> parens (sepCsvMap nmc ids) >-> convTref nice (SubTref _ sub alias) =-> parens (convQueryExpr nice True True sub)-> <+> text "as" <+> convTrefAlias nice alias-> convTref nice (FunTref _ f@(FunCall _ _ _) a) = convExp nice f <+> convTrefAlias nice a-> convTref _nice (FunTref _ x _) =+> tref nice (SubTref _ sub alias) =+> parens (queryExpr nice True True Nothing sub)+> <+> text "as" <+> trefAlias nice alias+> tref nice (FunTref _ f@(FunCall _ _ _) a) = scalExpr nice f <+> trefAlias nice a+> tref _nice (FunTref _ x _) = > error $ "internal error: node not supported in function tref: " > ++ show x >-> convTrefAlias :: Bool -> TableAlias -> Doc-> convTrefAlias _ (NoAlias _) = empty-> convTrefAlias _ (TableAlias _ t) = text t+> trefAlias :: Bool -> TableAlias -> Doc+> trefAlias _ (NoAlias _) = empty+> trefAlias _ (TableAlias _ t) = nmc t > -- hack this out for now. When the type checking is fixed, can try > -- to eliminate unneeded aliases?-> convTrefAlias nice (FullAlias _ t s) =-> text t <> (if nice+> trefAlias nice (FullAlias _ t s) =+> nmc t <> (if nice > then empty-> else parens (sepCsvMap text s))+> else parens (sepCsvMap nmc s)) -> convDir :: Direction -> Doc-> convDir d = text $ case d of+> direction :: Direction -> Doc+> direction d = text $ case d of > Asc -> "asc" > Desc -> "desc" >-> convWhere :: Bool -> Maybe ScalarExpr -> Doc-> convWhere nice (Just ex) = text "where" $+$ nest 2 (convExp nice ex)-> convWhere _ Nothing = empty+> whr :: Bool -> Maybe ScalarExpr -> Doc+> whr nice (Just ex) = text "where" $+$ nest 2 (scalExpr nice ex)+> whr _ Nothing = empty >-> convSelList :: Bool -> SelectList -> Doc-> convSelList nice (SelectList _ ex) =-> sepCsvMap convSelItem ex-> -- <+> ifNotEmpty (\i -> text "into" <+> hcatCsvMap convExp i) into+> selectList :: Bool -> SelectList -> Doc+> selectList nice (SelectList _ ex) =+> sepCsvMap selectItem ex+> -- <+> ifNotEmpty (\i -> text "into" <+> hcatCsvMap scalExpr i) into > where > -- try to avoid printing alias if not necessary-> convSelItem (SelectItem _ ex1@(QIdentifier _ _ i) nm) | nice, i == nm = convExpSl nice ex1-> convSelItem (SelectItem _ ex1@(Identifier _ i) nm) | nice, i == nm = convExpSl nice ex1-> convSelItem (SelectItem _ ex1 nm) = convExpSl nice ex1 <+> text "as" <+> text nm-> convSelItem (SelExp _ e) = convExpSl nice e+> selectItem (SelectItem _ ex1@(QIdentifier _ is) nm) | nice, last is == nm = scalExprSl nice ex1+> selectItem (SelectItem _ ex1@(Identifier _ i) nm) | nice, i == nm = scalExprSl nice ex1+> selectItem (SelectItem _ ex1 nm) = scalExprSl nice ex1 <+> text "as" <+> nmc nm+> selectItem (SelExp _ e) = scalExprSl nice e >-> convCasc :: Cascade -> Doc-> convCasc casc = text $ case casc of+> cascade :: Cascade -> Doc+> cascade casc = text $ case casc of > Cascade -> "cascade" > Restrict -> "restrict"->-> convDqi :: SQIdentifier -> Doc-> convDqi (SQIdentifier _ is) = hcat $ punctuate (text ".") $ map text is- > -- ddl >-> convCon :: Bool -> Constraint -> Doc-> convCon _nice (UniqueConstraint _ n c) =+> constraint :: Bool -> Constraint -> Doc+> constraint _nice (UniqueConstraint _ n c) = > mname n <+> text "unique"-> <+> parens (sepCsvMap text c)-> convCon _nice (PrimaryKeyConstraint _ n p) =+> <+> parens (sepCsvMap nmc c)+> constraint _nice (PrimaryKeyConstraint _ n p) = > mname n <+> > text "primary key"-> <+> parens (sepCsvMap text p)-> convCon nice (CheckConstraint _ n c) =-> mname n <+> text "check" <+> parens (convExp nice c)-> convCon _nice (ReferenceConstraint _ n at tb rat ondel onupd) =+> <+> parens (sepCsvMap nmc p)+> constraint nice (CheckConstraint _ n c) =+> mname n <+> text "check" <+> parens (scalExpr nice c)+> constraint _nice (ReferenceConstraint _ n at tb rat ondel onupd) = > mname n <+>-> text "foreign key" <+> parens (sepCsvMap text at)-> <+> text "references" <+> text tb-> <+> ifNotEmpty (parens . sepCsvMap text) rat-> <+> text "on update" <+> convCasc onupd-> <+> text "on delete" <+> convCasc ondel+> text "foreign key" <+> parens (sepCsvMap nmc at)+> <+> text "references" <+> name tb+> <+> ifNotEmpty (parens . sepCsvMap nmc) rat+> <+> text "on update" <+> cascade onupd+> <+> text "on delete" <+> cascade ondel > > mname :: String -> Doc > mname n = if n == "" > then empty > else text "constraint" <+> text n >-> convReturning :: Bool -> Maybe SelectList -> Doc-> convReturning nice l = case l of+> returning :: Bool -> Maybe SelectList -> Doc+> returning nice l = case l of > Nothing -> empty-> Just ls -> nest 2 (text "returning" <+> convSelList nice ls)+> Just ls -> nest 2 (text "returning" <+> selectList nice ls) >-> convIfExists :: IfExists -> Doc-> convIfExists i = case i of+> ifExists :: IfExists -> Doc+> ifExists i = case i of > Require -> empty > IfExists -> text "if exists" > > -- plpgsql >-> convNestedStatements :: Bool -> (Annotation -> String) -> StatementList -> Doc-> convNestedStatements nice pa = nest 2 . vcat . map (convStatement nice True pa)+> nestedStatements :: Bool -> (Annotation -> String) -> StatementList -> Doc+> nestedStatements nice pa = nest 2 . vcat . map (statement nice True pa) >-> convTypeName :: TypeName -> Doc-> convTypeName (SimpleTypeName _ s) = text s-> convTypeName (PrecTypeName _ s i) = text s <> parens(integer i)-> convTypeName (Prec2TypeName _ s i i1) = text s <> parens (sepCsv [integer i, integer i1])-> convTypeName (ArrayTypeName _ t) = convTypeName t <> text "[]"-> convTypeName (SetOfTypeName _ t) = text "setof" <+> convTypeName t+> typeName :: TypeName -> Doc+> typeName (SimpleTypeName _ s) = text s+> typeName (PrecTypeName _ s i) = text s <> parens(integer i)+> typeName (Prec2TypeName _ s i i1) = text s <> parens (sepCsv [integer i, integer i1])+> typeName (ArrayTypeName _ t) = typeName t <> text "[]"+> typeName (SetOfTypeName _ t) = text "setof" <+> typeName t > > -- expressions >-> convExp :: Bool -> ScalarExpr -> Doc-> convExp _ (Identifier _ i) =-> if quotesNeeded+> scalExpr :: Bool -> ScalarExpr -> Doc+> scalExpr _ (AntiScalarExpr s) = text $ "$(" ++ s ++ ")"+> scalExpr _ (Star _) = text "*"+> scalExpr _ (QStar _ i) = nmc i <> text ".*"++> scalExpr _ (Identifier _ i) = nmc i+> {-if quotesNeeded > then text $ "\"" ++ i ++ "\"" > else text i > where@@ -639,57 +656,58 @@ > _ | all okChar i -> False > | otherwise -> True > where-> okChar x =isAlphaNum x || x `elem` "*_."-> convExp nice (QIdentifier a i1@(Identifier _ _) i) = convExp nice i1 <> text "." <> convExp nice (Identifier a i)-> convExp nice (QIdentifier a e i) = parens (convExp nice e) <> text "." <> convExp nice (Identifier a i)+> okChar x =isAlphaNum x || x `elem` "*_."-}+> scalExpr _nice (QIdentifier _a [i1, i]) = parens (nmc i1) <> text "." <> nmc i+> scalExpr _nice (QIdentifier _a _) = error "only supports 2 part qualified identifers atm"+> --scalExpr nice (QIdentifier a e i) = parens (scalExpr nice e) <> text "." <> scalExpr nice (Identifier a i) -> --convExp (PIdentifier _ i) = parens $ convExp i-> convExp _ (NumberLit _ n) = text n-> convExp _ (StringLit _ s) = -- needs some thought about using $$?+> --scalExpr (PIdentifier _ i) = parens $ scalExpr i+> scalExpr _ (NumberLit _ n) = text n+> scalExpr _ (StringLit _ s) = -- needs some thought about using $$? > text "'" <> text replaceQuotes <> text "'" > where > replaceQuotes = replace "'" "''" s {-if tag == "'" > then replace "'" "''" s > else s-} >-> convExp nice (FunCall _ n es) =+> scalExpr nice (FunCall _ n es) = > --check for special operators-> case n of-> "!and" | nice, [a,b] <- es -> doLeftAnds a b-> "!arrayctor" -> text "array" <> brackets (csvExp nice es)-> "!between" -> convExp nice (head es) <+> text "between"-> <+> parens (convExp nice (es !! 1))+> case getTName n of+> Just "!and" | nice, [a,b] <- es -> doLeftAnds a b+> Just "!arrayctor" -> text "array" <> brackets (csvExp nice es)+> Just "!between" -> scalExpr nice (head es) <+> text "between"+> <+> parens (scalExpr nice (es !! 1)) > <+> text "and"-> <+> parens (convExp nice (es !! 2))-> "!substring" -> text "substring"-> <> parens (convExp nice (head es)-> <+> text "from" <+> convExp nice (es !! 1)-> <+> text "for" <+> convExp nice (es !! 2))-> "!arraysub" -> case es of-> (Identifier _ i : es1) -> text i+> <+> parens (scalExpr nice (es !! 2))+> Just "!substring" -> text "substring"+> <> parens (scalExpr nice (head es)+> <+> text "from" <+> scalExpr nice (es !! 1)+> <+> text "for" <+> scalExpr nice (es !! 2))+> Just "!arraysub" -> case es of+> (Identifier _ i : es1) -> nmc i > <> brackets (csvExp nice es1)-> _ -> parens (convExp nice (head es))+> _ -> parens (scalExpr nice (head es)) > <> brackets (csvExp nice (tail es))-> "!rowctor" -> text "row" <> parens (sepCsvMap (convExp nice) es)-> "." -- special case to avoid ws around '.'. Don't know if this is important+> Just "!rowctor" -> text "row" <> parens (sepCsvMap (scalExpr nice) es)+> Just "." -- special case to avoid ws around '.'. Don't know if this is important > -- or just cosmetic-> | [a,b] <- es -> convExp nice a <> text "." <> convExp nice b-> _ | isOperatorName n ->-> case forceRight (getOperatorType defaultTemplate1Catalog n) of+> | [a,b] <- es -> parens (scalExpr nice a) <> text "." <> scalExpr nice b+> Just n' | isOperatorName n' ->+> case forceRight (getOperatorType defaultTemplate1Catalog n') of > BinaryOp ->-> let e1d = convExp nice (head es)-> opd = text $ filterKeyword n-> e2d = convExp nice (es !! 1)-> in parens (if n `elem` ["!and", "!or"]+> let e1d = scalExpr nice (head es)+> opd = text $ filterKeyword n'+> e2d = scalExpr nice (es !! 1)+> in parens (if n' `elem` ["!and", "!or"] > then vcat [e1d, opd <+> e2d] > else e1d <+> opd <+> e2d)-> PrefixOp -> parens (text (if n == "u-"-> then "-"-> else filterKeyword n)-> <+> parens (convExp nice (head es)))-> PostfixOp -> parens (convExp nice (head es)-> <+> text (filterKeyword n))-> | otherwise -> text n <> parens (csvExp nice es)+> PrefixOp -> parens (text (if n' == "u-"+> then "-"+> else filterKeyword n')+> <+> parens (scalExpr nice (head es)))+> PostfixOp -> parens (scalExpr nice (head es)+> <+> text (filterKeyword n'))+> _ -> name n <> parens (csvExp nice es) > where > filterKeyword t = case t of > "!and" -> "and"@@ -702,81 +720,85 @@ > x -> x > -- try to write a series of ands in a vertical line with slightly less parens > doLeftAnds a b = let as = and' a-> in vcat ((convExp nice (head as)-> : map (\x -> text "and" <+> convExp nice x) (tail as))-> ++ [text "and" <+> convExp nice b])+> in vcat ((scalExpr nice (head as)+> : map (\x -> text "and" <+> scalExpr nice x) (tail as))+> ++ [text "and" <+> scalExpr nice b]) > and' a = case a of-> FunCall _ "!and" [x,y] -> and' x ++ and' y+> FunCall _ f [x,y] | Just "!and" <- getTName f -> and' x ++ and' y > _ -> [a] >-> convExp _ (BooleanLit _ b) = bool b-> convExp nice (InPredicate _ att t lst) =-> convExp nice att <+> (if not t then text "not" else empty) <+> text "in"+> scalExpr _ (BooleanLit _ b) = bool b+> scalExpr nice (InPredicate _ att t lst) =+> scalExpr nice att <+> (if not t then text "not" else empty) <+> text "in" > <+> parens (case lst of > InList _ expr -> csvExp nice expr-> InQueryExpr _ sel -> convQueryExpr nice True True sel)-> convExp nice (LiftOperator _ op flav args) =-> convExp nice (head args) <+> text op+> InQueryExpr _ sel -> queryExpr nice True True Nothing sel)+> scalExpr nice (LiftOperator _ op flav args) =+> scalExpr nice (head args) <+> text op > <+> text (case flav of > LiftAny -> "any" > LiftAll -> "all")-> <+> parens (convExp nice $ head $ tail args)-> convExp nice (ScalarSubQuery _ s) = parens (convQueryExpr nice True True s)-> convExp _ (NullLit _) = text "null"-> convExp nice (WindowFn _ fn part order asc frm) =-> convExp nice fn <+> text "over"+> <+> parens (scalExpr nice $ head $ tail args)+> scalExpr nice (ScalarSubQuery _ s) = parens (queryExpr nice True True Nothing s)+> scalExpr _ (NullLit _) = text "null"+> scalExpr nice (WindowFn _ fn part order frm) =+> scalExpr nice fn <+> text "over" > <+> parens (if hp || ho > then (if hp > then text "partition by" <+> csvExp nice part > else empty)-> <+> (if ho-> then text "order by" <+> csvExp nice order-> <+> convDir asc-> else empty)-> <+> convFrm+> <+> orderBy nice order+> <+> frameStuff > else empty) > where > hp = not (null part) > ho = not (null order)-> convFrm = case frm of+> frameStuff = case frm of > FrameUnboundedPreceding -> text "range unbounded preceding" > FrameUnboundedFull -> text "range between unbounded preceding and unbounded following" > FrameRowsUnboundedPreceding -> text "rows unbounded preceding" >-> convExp nice (Case _ whens els) =+> scalExpr nice (AggregateFn _ d (FunCall _ fn es) o) =+> name fn <> parens ((case d of+> Dupes -> text "all"+> Distinct -> text "distinct")+> <+> csvExp nice es+> <+> orderBy nice o)+> scalExpr _ (AggregateFn _ _ _ _) = error "bad syntax for aggregate function"+> scalExpr nice (Case _ whens els) = > text "case"-> $+$ nest 2 (vcat (map convWhen whens)-> $+$ maybeConv (\e -> text "else" <+> convExp nice e) els)+> $+$ nest 2 (vcat (map whn whens)+> $+$ maybePrint (\e -> text "else" <+> scalExpr nice e) els) > $+$ text "end" > where-> convWhen (ex1, ex2) =-> text "when" <+> sepCsvMap (convExp nice) ex1-> <+> text "then" <+> convExp nice ex2+> whn (ex1, ex2) =+> text "when" <+> sepCsvMap (scalExpr nice) ex1+> <+> text "then" <+> scalExpr nice ex2 >-> convExp nice (CaseSimple _ val whens els) =-> text "case" <+> convExp nice val-> $+$ nest 2 (vcat (map convWhen whens)-> $+$ maybeConv (\e -> text "else" <+> convExp nice e) els)+> scalExpr nice (CaseSimple _ val whens els) =+> text "case" <+> scalExpr nice val+> $+$ nest 2 (vcat (map whn whens)+> $+$ maybePrint (\e -> text "else" <+> scalExpr nice e) els) > $+$ text "end" > where-> convWhen (ex1, ex2) =-> text "when" <+> sepCsvMap (convExp nice) ex1-> <+> text "then" <+> convExp nice ex2+> whn (ex1, ex2) =+> text "when" <+> sepCsvMap (scalExpr nice) ex1+> <+> text "then" <+> scalExpr nice ex2 >-> convExp _ (PositionalArg _ a) = text "$" <> integer a-> convExp _ (Placeholder _) = text "?"-> convExp nice (Exists _ s) =-> text "exists" <+> parens (convQueryExpr nice True True s)-> convExp nice (Cast _ ex t) = text "cast" <> parens (convExp nice ex+> scalExpr _ (PositionalArg _ a) = text "$" <> integer a+> scalExpr _ (Placeholder _) = text "?"+> scalExpr nice (Exists _ s) =+> text "exists" <+> parens (queryExpr nice True True Nothing s)+> scalExpr nice (Cast _ ex t) = text "cast" <> parens (scalExpr nice ex > <+> text "as"-> <+> convTypeName t)-> convExp nice (TypedStringLit a t s) =-> convTypeName t <+> convExp nice (StringLit a s)-> convExp nice (Interval a v f p) =-> text "interval" <+> convExp nice (StringLit a v)-> <+> convIntervalField <+> convPrec+> <+> typeName t)+> scalExpr nice (TypedStringLit a t s) =+> typeName t <+> scalExpr nice (StringLit a s)+> scalExpr nice (Interval a v f p) =+> text "interval" <+> scalExpr nice (StringLit a v)+> <+> intervalField <+> precision > where-> convIntervalField =+> intervalField = > text $ case f of > IntervalYear -> "year" > IntervalMonth -> "month"@@ -791,14 +813,14 @@ > IntervalHourToMinute -> "hour to minute" > IntervalHourToSecond -> "hour to second" > IntervalMinuteToSecond -> "minute to second"-> convPrec = case p of+> precision = case p of > Nothing -> empty > Just i -> parens (int i)-> convExp nice (Extract _ f e) =+> scalExpr nice (Extract _ f e) = > text "extract"-> <> parens (text convField <+> text "from" <+> convExp nice e)+> <> parens (text field <+> text "from" <+> scalExpr nice e) > where-> convField =+> field = > case f of > ExtractCentury -> "century" > ExtractDay -> "day"@@ -823,31 +845,37 @@ > ExtractYear -> "year" -> convExpSl :: Bool -> ScalarExpr -> Doc-> convExpSl nice (FunCall _ "." es) | [a@(Identifier _ _), b] <- es =-> parens (convExpSl nice a) <> text "." <> convExpSl nice b-> convExpSl nice x = convExp nice x+> scalExprSl :: Bool -> ScalarExpr -> Doc+> scalExprSl nice (FunCall _ f es) | Just "." <- getTName f+> , [a@(Identifier _ _), b] <- es =+> parens (scalExprSl nice a) <> text "." <> scalExprSl nice b+> scalExprSl nice x = scalExpr nice x >-> convSet :: Bool -> ScalarExpr -> Doc-> convSet nice (FunCall _ "=" [Identifier _ a, e]) =-> text a <+> text "=" <+> convExp nice e-> convSet nice (FunCall _ "=" [a, b]) | (FunCall _ "!rowctor" is1) <- a-> ,(FunCall _ "!rowctor" is2) <- b =+> set :: Bool -> SetClause -> Doc+> set nice (SetClause _ a e) =+> -- (FunCall _ "=" [Identifier _ a, e]) =+> nmc a <+> text "=" <+> scalExpr nice e+> {-set nice (FunCall _ "=" [a, b]) | (FunCall _ "!rowctor" is1) <- a+> ,(FunCall _ "!rowctor" is2) <- b = > rsNoRow is1 <+> text "=" <+> rsNoRow is2 > where-> rsNoRow is = parens (sepCsvMap (convExp nice) is)-> convSet _ a = error $ "bad expression in set in update: " ++ show a+> rsNoRow is = parens (sepCsvMap (scalExpr nice) is)+> set _ a = error $ "bad expression in set in update: " ++ show a-}+> set nice (MultiSetClause _ is (FunCall _ f es)) | Just "!rowctor" <- getTName f =+> parens (sepCsvMap nmc is) <+> text "="+> <+> parens (sepCsvMap (scalExpr nice) es)+> set _ a = error $ "bad expression in set in update: " ++ show a > > --utils > > -- convert a list of expressions to horizontal csv > > csvExp :: Bool -> [ScalarExpr] -> Doc-> csvExp nice = hcatCsvMap (convExp nice)+> csvExp nice = hcatCsvMap (scalExpr nice) >-> maybeConv :: (t -> Doc) -> Maybe t -> Doc-> maybeConv f c =+> maybePrint :: (t -> Doc) -> Maybe t -> Doc+> maybePrint f c = > case c of > Nothing -> empty > Just a -> f a@@ -870,7 +898,12 @@ > sepCsvMap :: (a -> Doc) -> [a] -> Doc > sepCsvMap ex = sepCsv . map ex -+> orderBy :: Bool -> [(ScalarExpr,Direction)] -> Doc+> orderBy _ [] = empty+> orderBy nice os =+> text "order by"+> $+$ nest 2 (sepCsvMap (\(oe,od) -> scalExpr nice oe+> <+> direction od) os) > --vcatCsvMap :: (a -> Doc) -> [a] -> Doc > --vcatCsvMap ex = vcat . csv . map ex@@ -882,15 +915,22 @@ > newline :: Doc > newline = text "\n" >-> convPa :: (Annotation -> String) -> Annotation -> Doc-> convPa ca a = let s = ca a+> annot :: (Annotation -> String) -> Annotation -> Doc+> annot ca a = let s = ca a > in if s == "" > then empty > else text "/*\n" <+> text s > <+> text "*/\n" -> convLabel :: Maybe String -> Doc-> convLabel =+> label :: Maybe String -> Doc+> label = > maybe empty (\l -> text "<<" > <+> text l > <+> text ">>" <> text "\n")++util: to be removed when outputting names is fixed++> getTName :: Name -> Maybe String+> getTName (Name _ [n]) = Just $ ncStr n+> getTName _ = Nothing+
src/Database/HsSqlPpp/Quote.lhs view
@@ -47,30 +47,29 @@ > > import Database.HsSqlPpp.Parsing.ParserInternal > import Database.HsSqlPpp.Annotation-> import Database.HsSqlPpp.Internals.AstAnti->+> import Database.HsSqlPpp.Ast hiding (Name) public api: the quasiquote functions > -- | quotes Statements > sqlStmts :: QuasiQuoter-> sqlStmts = makeQQ parseAntiSql+> sqlStmts = makeQQ parseStatementsWithPosition > > -- | quotes a single Statement > sqlStmt :: QuasiQuoter-> sqlStmt = makeQQ parseOneAntiSql+> sqlStmt = makeQQ parseOneStatement > > -- | quotes plpgsql Statements > pgsqlStmts :: QuasiQuoter-> pgsqlStmts = makeQQ parseAntiPlpgsql+> pgsqlStmts = makeQQ parsePlpgsqlWithPosition > > -- | quotes a plpgsql Statement > pgsqlStmt :: QuasiQuoter-> pgsqlStmt = makeQQ parseOneAntiPlpgsql+> pgsqlStmt = makeQQ parseOnePlpgsql > -- | quotes a ScalarExpr > sqlExpr :: QuasiQuoter-> sqlExpr = makeQQ parseAntiScalarExpr+> sqlExpr = makeQQ parseScalarExprWithPosition boilerplate utils to hook everything together @@ -82,16 +81,11 @@ > > makeQQ :: (Show e, Data a) => > Parser e a -> QuasiQuoter-> makeQQ p = QuasiQuoter {quoteExp = (parseExprExp p)-> ,quotePat = (parseExprPat p)+> makeQQ p = QuasiQuoter {quoteExp = parseExprExp p+> ,quotePat = parseExprPat p > ,quoteType = undefined > ,quoteDec = undefined} -these return asts of from the module-Database.HsSqlPpp.Internals.AstAnti, but when you expect the result-of a quasiquote to be from the module Database.HsSqlPpp.Ast, it-magically converts from one to the other ...- > parseExprExp :: (Show e, Data a) => > Parser e a -> String -> Q Exp > parseExprExp p s = parseSql' p s@@ -124,22 +118,22 @@ wrappers - the Parser module doesn't expose methods which parse exactly one statement -> parseOneAntiPlpgsql :: Parser String Statement-> parseOneAntiPlpgsql f l c s =-> case parseAntiPlpgsql f l c s of+> parseOnePlpgsql :: Parser String Statement+> parseOnePlpgsql f l c s =+> case parsePlpgsqlWithPosition f l c s of > Right [st] -> Right st > Right _ -> Left "got multiple statements" > Left e -> Left $ show e >-> parseOneAntiSql :: Parser String Statement-> parseOneAntiSql f l c s =-> case parseAntiSql f l c s of+> parseOneStatement :: Parser String Statement+> parseOneStatement f l c s =+> case parseStatementsWithPosition f l c s of > Right [st] -> Right st > Right _ -> Left "got multiple statements" > Left e -> Left $ show e hack: replace the annotations in asts produced by parsing with-wildcards, if we don't do this then pattern matches generally don't+wildcards, if you don't do this then pattern matches generally don't work since the source position annotations from the parser don't match up. The source position annotations are still available so that e.g. a function can pattern match against a statement then get the source@@ -187,13 +181,14 @@ > antiStr v = > fmap mkName $ getSpliceName v > where-> getSpliceName s | isPrefixOf "$(" s && last s == ')' =-> Just $ drop 2 $ take (length s - 1) s-> | isPrefixOf "$s(" s && last s == ')' =-> Just $ drop 3 $ take (length s - 1) s-> | isPrefixOf "$i(" s && last s == ')' =-> Just $ drop 3 $ take (length s - 1) s-> | otherwise = Nothing+> getSpliceName s+> | isPrefixOf "$(" s && last s == ')' =+> Just $ drop 2 $ init s+> | isPrefixOf "$s(" s && last s == ')' =+> Just $ drop 3 $ init s+> | isPrefixOf "$i(" s && last s == ')' =+> Just $ drop 3 $ init s+> | otherwise = Nothing > > antiTriggerEventE :: TriggerEvent -> Maybe ExpQ@@ -226,7 +221,7 @@ gives FunCall [] "fn" [] <- need $(x) to parse as an antiexpression -need context which we don't have to make this decision (and would+need context which you don't have to make this decision (and would probably be really hard even if the context was available) so - use two different splice syntaxes.
src/Database/HsSqlPpp/Utils/Utils.lhs view
@@ -121,8 +121,7 @@ > npartition keyf l = > np [] l > where-> np acc =-> foldl (\ acc' p -> insertWith (++) (keyf p) [p] acc') acc+> np = foldl (\acc p -> insertWith (++) (keyf p) [p] acc) > > insertWith :: Eq k => (a -> a -> a) -> k -> a -> [(k,a)] -> [(k,a)] > insertWith ac k v m =