module IHP.IDE.SchemaDesigner.Types where
import IHP.Prelude
data Statement
=
StatementCreateTable { Statement -> CreateTable
unsafeGetCreateTable :: CreateTable }
| CreateEnumType { Statement -> Text
name :: Text, Statement -> [Text]
values :: [Text] }
| DropEnumType { name :: Text }
| CreateExtension { name :: Text, Statement -> Bool
ifNotExists :: Bool }
| AddConstraint { Statement -> Text
tableName :: Text, Statement -> Constraint
constraint :: Constraint, Statement -> Maybe Bool
deferrable :: Maybe Bool, Statement -> Maybe DeferrableType
deferrableType :: Maybe DeferrableType }
| DropConstraint { tableName, Statement -> Text
constraintName :: Text }
| AddColumn { tableName :: Text, Statement -> Column
column :: Column }
| DropColumn { tableName :: Text, Statement -> Text
columnName :: Text }
| DropTable { tableName :: Text }
| UnknownStatement { Statement -> Text
raw :: Text }
| { Statement -> Text
content :: Text }
| CreateIndex { Statement -> Text
indexName :: Text, Statement -> Bool
unique :: Bool, tableName :: Text, Statement -> [IndexColumn]
columns :: [IndexColumn], Statement -> Maybe Expression
whereClause :: Maybe Expression, Statement -> Maybe IndexType
indexType :: Maybe IndexType }
| DropIndex { indexName :: Text }
| CreateFunction { Statement -> Text
functionName :: Text, Statement -> [(Text, PostgresType)]
functionArguments :: [(Text, PostgresType)], Statement -> Text
functionBody :: Text, Statement -> Bool
orReplace :: Bool, Statement -> PostgresType
returns :: PostgresType, Statement -> Text
language :: Text }
| EnableRowLevelSecurity { tableName :: Text }
| CreatePolicy { name :: Text, tableName :: Text, Statement -> Maybe PolicyAction
action :: Maybe PolicyAction, Statement -> Maybe Expression
using :: Maybe Expression, Statement -> Maybe Expression
check :: Maybe Expression }
| Set { name :: Text, Statement -> Expression
value :: Expression }
| SelectStatement { Statement -> Text
query :: Text }
| CreateSequence { name :: Text }
| RenameColumn { tableName :: Text, Statement -> Text
from :: Text, Statement -> Text
to :: Text }
| AddValueToEnumType { Statement -> Text
enumName :: Text, Statement -> Text
newValue :: Text, ifNotExists :: Bool }
| DropNotNull { tableName :: Text, columnName :: Text }
| SetNotNull { tableName :: Text, columnName :: Text }
| RenameTable { from :: Text, to :: Text }
| DropPolicy { tableName :: Text, Statement -> Text
policyName :: Text }
| SetDefaultValue { tableName :: Text, columnName :: Text, value :: Expression }
| DropDefaultValue { tableName :: Text, columnName :: Text }
| CreateTrigger { name :: !Text, Statement -> TriggerEventWhen
eventWhen :: !TriggerEventWhen, Statement -> TriggerEvent
event :: !TriggerEvent, tableName :: !Text, Statement -> TriggerFor
for :: !TriggerFor, Statement -> Maybe Expression
whenCondition :: Maybe Expression, functionName :: !Text, Statement -> [Expression]
arguments :: ![Expression] }
| Begin
| Commit
| DropFunction { functionName :: !Text }
deriving (Statement -> Statement -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Statement -> Statement -> Bool
$c/= :: Statement -> Statement -> Bool
== :: Statement -> Statement -> Bool
$c== :: Statement -> Statement -> Bool
Eq, Int -> Statement -> ShowS
[Statement] -> ShowS
Statement -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Statement] -> ShowS
$cshowList :: [Statement] -> ShowS
show :: Statement -> String
$cshow :: Statement -> String
showsPrec :: Int -> Statement -> ShowS
$cshowsPrec :: Int -> Statement -> ShowS
Show)
data DeferrableType
= InitiallyImmediate
| InitiallyDeferred
deriving (DeferrableType -> DeferrableType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeferrableType -> DeferrableType -> Bool
$c/= :: DeferrableType -> DeferrableType -> Bool
== :: DeferrableType -> DeferrableType -> Bool
$c== :: DeferrableType -> DeferrableType -> Bool
Eq, Int -> DeferrableType -> ShowS
[DeferrableType] -> ShowS
DeferrableType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeferrableType] -> ShowS
$cshowList :: [DeferrableType] -> ShowS
show :: DeferrableType -> String
$cshow :: DeferrableType -> String
showsPrec :: Int -> DeferrableType -> ShowS
$cshowsPrec :: Int -> DeferrableType -> ShowS
Show)
data CreateTable
= CreateTable
{ CreateTable -> Text
name :: Text
, CreateTable -> [Column]
columns :: [Column]
, CreateTable -> PrimaryKeyConstraint
primaryKeyConstraint :: PrimaryKeyConstraint
, CreateTable -> [Constraint]
constraints :: [Constraint]
, CreateTable -> Bool
unlogged :: !Bool
}
deriving (CreateTable -> CreateTable -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateTable -> CreateTable -> Bool
$c/= :: CreateTable -> CreateTable -> Bool
== :: CreateTable -> CreateTable -> Bool
$c== :: CreateTable -> CreateTable -> Bool
Eq, Int -> CreateTable -> ShowS
[CreateTable] -> ShowS
CreateTable -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateTable] -> ShowS
$cshowList :: [CreateTable] -> ShowS
show :: CreateTable -> String
$cshow :: CreateTable -> String
showsPrec :: Int -> CreateTable -> ShowS
$cshowsPrec :: Int -> CreateTable -> ShowS
Show)
data Column = Column
{ Column -> Text
name :: Text
, Column -> PostgresType
columnType :: PostgresType
, Column -> Maybe Expression
defaultValue :: Maybe Expression
, Column -> Bool
notNull :: Bool
, Column -> Bool
isUnique :: Bool
, Column -> Maybe ColumnGenerator
generator :: Maybe ColumnGenerator
}
deriving (Column -> Column -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Column -> Column -> Bool
$c/= :: Column -> Column -> Bool
== :: Column -> Column -> Bool
$c== :: Column -> Column -> Bool
Eq, Int -> Column -> ShowS
[Column] -> ShowS
Column -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Column] -> ShowS
$cshowList :: [Column] -> ShowS
show :: Column -> String
$cshow :: Column -> String
showsPrec :: Int -> Column -> ShowS
$cshowsPrec :: Int -> Column -> ShowS
Show)
data OnDelete
= NoAction
| Restrict
| SetNull
| SetDefault
| Cascade
deriving (Int -> OnDelete -> ShowS
[OnDelete] -> ShowS
OnDelete -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OnDelete] -> ShowS
$cshowList :: [OnDelete] -> ShowS
show :: OnDelete -> String
$cshow :: OnDelete -> String
showsPrec :: Int -> OnDelete -> ShowS
$cshowsPrec :: Int -> OnDelete -> ShowS
Show, OnDelete -> OnDelete -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OnDelete -> OnDelete -> Bool
$c/= :: OnDelete -> OnDelete -> Bool
== :: OnDelete -> OnDelete -> Bool
$c== :: OnDelete -> OnDelete -> Bool
Eq)
data ColumnGenerator
= ColumnGenerator
{ ColumnGenerator -> Expression
generate :: !Expression
, ColumnGenerator -> Bool
stored :: !Bool
} deriving (Int -> ColumnGenerator -> ShowS
[ColumnGenerator] -> ShowS
ColumnGenerator -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ColumnGenerator] -> ShowS
$cshowList :: [ColumnGenerator] -> ShowS
show :: ColumnGenerator -> String
$cshow :: ColumnGenerator -> String
showsPrec :: Int -> ColumnGenerator -> ShowS
$cshowsPrec :: Int -> ColumnGenerator -> ShowS
Show, ColumnGenerator -> ColumnGenerator -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ColumnGenerator -> ColumnGenerator -> Bool
$c/= :: ColumnGenerator -> ColumnGenerator -> Bool
== :: ColumnGenerator -> ColumnGenerator -> Bool
$c== :: ColumnGenerator -> ColumnGenerator -> Bool
Eq)
newtype PrimaryKeyConstraint
= PrimaryKeyConstraint { PrimaryKeyConstraint -> [Text]
primaryKeyColumnNames :: [Text] }
deriving (PrimaryKeyConstraint -> PrimaryKeyConstraint -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PrimaryKeyConstraint -> PrimaryKeyConstraint -> Bool
$c/= :: PrimaryKeyConstraint -> PrimaryKeyConstraint -> Bool
== :: PrimaryKeyConstraint -> PrimaryKeyConstraint -> Bool
$c== :: PrimaryKeyConstraint -> PrimaryKeyConstraint -> Bool
Eq, Int -> PrimaryKeyConstraint -> ShowS
[PrimaryKeyConstraint] -> ShowS
PrimaryKeyConstraint -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PrimaryKeyConstraint] -> ShowS
$cshowList :: [PrimaryKeyConstraint] -> ShowS
show :: PrimaryKeyConstraint -> String
$cshow :: PrimaryKeyConstraint -> String
showsPrec :: Int -> PrimaryKeyConstraint -> ShowS
$cshowsPrec :: Int -> PrimaryKeyConstraint -> ShowS
Show)
data Constraint
= ForeignKeyConstraint
{ Constraint -> Maybe Text
name :: !(Maybe Text)
, Constraint -> Text
columnName :: !Text
, Constraint -> Text
referenceTable :: !Text
, Constraint -> Maybe Text
referenceColumn :: !(Maybe Text)
, Constraint -> Maybe OnDelete
onDelete :: !(Maybe OnDelete)
}
| UniqueConstraint
{ name :: !(Maybe Text)
, Constraint -> [Text]
columnNames :: ![Text]
}
| CheckConstraint
{ name :: !(Maybe Text)
, Constraint -> Expression
checkExpression :: !Expression
}
| ExcludeConstraint
{ name :: !(Maybe Text)
, Constraint -> [ExcludeConstraintElement]
excludeElements :: ![ExcludeConstraintElement]
, Constraint -> Maybe Expression
predicate :: !(Maybe Expression)
, Constraint -> Maybe IndexType
indexType :: !(Maybe IndexType)
}
| AlterTableAddPrimaryKey
{ name :: !(Maybe Text)
, Constraint -> PrimaryKeyConstraint
primaryKeyConstraint :: !PrimaryKeyConstraint
}
deriving (Constraint -> Constraint -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Constraint -> Constraint -> Bool
$c/= :: Constraint -> Constraint -> Bool
== :: Constraint -> Constraint -> Bool
$c== :: Constraint -> Constraint -> Bool
Eq, Int -> Constraint -> ShowS
[Constraint] -> ShowS
Constraint -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Constraint] -> ShowS
$cshowList :: [Constraint] -> ShowS
show :: Constraint -> String
$cshow :: Constraint -> String
showsPrec :: Int -> Constraint -> ShowS
$cshowsPrec :: Int -> Constraint -> ShowS
Show)
data ExcludeConstraintElement = ExcludeConstraintElement { ExcludeConstraintElement -> Text
element :: !Text, ExcludeConstraintElement -> Text
operator :: !Text }
deriving (ExcludeConstraintElement -> ExcludeConstraintElement -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExcludeConstraintElement -> ExcludeConstraintElement -> Bool
$c/= :: ExcludeConstraintElement -> ExcludeConstraintElement -> Bool
== :: ExcludeConstraintElement -> ExcludeConstraintElement -> Bool
$c== :: ExcludeConstraintElement -> ExcludeConstraintElement -> Bool
Eq, Int -> ExcludeConstraintElement -> ShowS
[ExcludeConstraintElement] -> ShowS
ExcludeConstraintElement -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExcludeConstraintElement] -> ShowS
$cshowList :: [ExcludeConstraintElement] -> ShowS
show :: ExcludeConstraintElement -> String
$cshow :: ExcludeConstraintElement -> String
showsPrec :: Int -> ExcludeConstraintElement -> ShowS
$cshowsPrec :: Int -> ExcludeConstraintElement -> ShowS
Show)
data Expression =
TextExpression Text
| VarExpression Text
| CallExpression Text [Expression]
| NotEqExpression Expression Expression
| EqExpression Expression Expression
| AndExpression Expression Expression
| IsExpression Expression Expression
| InExpression Expression Expression
| NotExpression Expression
| ExistsExpression Expression
| OrExpression Expression Expression
| LessThanExpression Expression Expression
| LessThanOrEqualToExpression Expression Expression
| GreaterThanExpression Expression Expression
| GreaterThanOrEqualToExpression Expression Expression
| DoubleExpression Double
| IntExpression Int
| TypeCastExpression Expression PostgresType
| SelectExpression Select
| DotExpression Expression Text
| ConcatenationExpression Expression Expression
deriving (Expression -> Expression -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Expression -> Expression -> Bool
$c/= :: Expression -> Expression -> Bool
== :: Expression -> Expression -> Bool
$c== :: Expression -> Expression -> Bool
Eq, Int -> Expression -> ShowS
[Expression] -> ShowS
Expression -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Expression] -> ShowS
$cshowList :: [Expression] -> ShowS
show :: Expression -> String
$cshow :: Expression -> String
showsPrec :: Int -> Expression -> ShowS
$cshowsPrec :: Int -> Expression -> ShowS
Show)
data Select = Select
{ Select -> [Expression]
columns :: [Expression]
, Select -> Expression
from :: Expression
, Select -> Maybe Text
alias :: Maybe Text
, Select -> Expression
whereClause :: Expression
} deriving (Select -> Select -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Select -> Select -> Bool
$c/= :: Select -> Select -> Bool
== :: Select -> Select -> Bool
$c== :: Select -> Select -> Bool
Eq, Int -> Select -> ShowS
[Select] -> ShowS
Select -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Select] -> ShowS
$cshowList :: [Select] -> ShowS
show :: Select -> String
$cshow :: Select -> String
showsPrec :: Int -> Select -> ShowS
$cshowsPrec :: Int -> Select -> ShowS
Show)
data PostgresType
= PUUID
| PText
| PInt
| PSmallInt
| PBigInt
| PBoolean
| PTimestampWithTimezone
| PTimestamp
| PReal
| PDouble
| PPoint
| PPolygon
| PDate
| PBinary
| PTime
| PInterval { PostgresType -> Maybe Text
fields :: Maybe Text }
| PNumeric { PostgresType -> Maybe Int
precision :: Maybe Int, PostgresType -> Maybe Int
scale :: Maybe Int }
| PVaryingN (Maybe Int)
| PCharacterN Int
| PSingleChar
| PSerial
| PBigserial
| PJSONB
| PInet
| PTSVector
| PArray PostgresType
| PTrigger
| PCustomType Text
deriving (PostgresType -> PostgresType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostgresType -> PostgresType -> Bool
$c/= :: PostgresType -> PostgresType -> Bool
== :: PostgresType -> PostgresType -> Bool
$c== :: PostgresType -> PostgresType -> Bool
Eq, Int -> PostgresType -> ShowS
[PostgresType] -> ShowS
PostgresType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostgresType] -> ShowS
$cshowList :: [PostgresType] -> ShowS
show :: PostgresType -> String
$cshow :: PostgresType -> String
showsPrec :: Int -> PostgresType -> ShowS
$cshowsPrec :: Int -> PostgresType -> ShowS
Show)
data TriggerEventWhen
= Before
| After
| InsteadOf
deriving (TriggerEventWhen -> TriggerEventWhen -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TriggerEventWhen -> TriggerEventWhen -> Bool
$c/= :: TriggerEventWhen -> TriggerEventWhen -> Bool
== :: TriggerEventWhen -> TriggerEventWhen -> Bool
$c== :: TriggerEventWhen -> TriggerEventWhen -> Bool
Eq, Int -> TriggerEventWhen -> ShowS
[TriggerEventWhen] -> ShowS
TriggerEventWhen -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TriggerEventWhen] -> ShowS
$cshowList :: [TriggerEventWhen] -> ShowS
show :: TriggerEventWhen -> String
$cshow :: TriggerEventWhen -> String
showsPrec :: Int -> TriggerEventWhen -> ShowS
$cshowsPrec :: Int -> TriggerEventWhen -> ShowS
Show)
data TriggerEvent
= TriggerOnInsert
| TriggerOnUpdate
| TriggerOnDelete
| TriggerOnTruncate
deriving (TriggerEvent -> TriggerEvent -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TriggerEvent -> TriggerEvent -> Bool
$c/= :: TriggerEvent -> TriggerEvent -> Bool
== :: TriggerEvent -> TriggerEvent -> Bool
$c== :: TriggerEvent -> TriggerEvent -> Bool
Eq, Int -> TriggerEvent -> ShowS
[TriggerEvent] -> ShowS
TriggerEvent -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TriggerEvent] -> ShowS
$cshowList :: [TriggerEvent] -> ShowS
show :: TriggerEvent -> String
$cshow :: TriggerEvent -> String
showsPrec :: Int -> TriggerEvent -> ShowS
$cshowsPrec :: Int -> TriggerEvent -> ShowS
Show)
data TriggerFor
= ForEachRow
| ForEachStatement
deriving (TriggerFor -> TriggerFor -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TriggerFor -> TriggerFor -> Bool
$c/= :: TriggerFor -> TriggerFor -> Bool
== :: TriggerFor -> TriggerFor -> Bool
$c== :: TriggerFor -> TriggerFor -> Bool
Eq, Int -> TriggerFor -> ShowS
[TriggerFor] -> ShowS
TriggerFor -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TriggerFor] -> ShowS
$cshowList :: [TriggerFor] -> ShowS
show :: TriggerFor -> String
$cshow :: TriggerFor -> String
showsPrec :: Int -> TriggerFor -> ShowS
$cshowsPrec :: Int -> TriggerFor -> ShowS
Show)
data PolicyAction
= PolicyForAll
| PolicyForSelect
| PolicyForInsert
| PolicyForUpdate
| PolicyForDelete
deriving (PolicyAction -> PolicyAction -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PolicyAction -> PolicyAction -> Bool
$c/= :: PolicyAction -> PolicyAction -> Bool
== :: PolicyAction -> PolicyAction -> Bool
$c== :: PolicyAction -> PolicyAction -> Bool
Eq, Int -> PolicyAction -> ShowS
[PolicyAction] -> ShowS
PolicyAction -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PolicyAction] -> ShowS
$cshowList :: [PolicyAction] -> ShowS
show :: PolicyAction -> String
$cshow :: PolicyAction -> String
showsPrec :: Int -> PolicyAction -> ShowS
$cshowsPrec :: Int -> PolicyAction -> ShowS
Show)
data IndexType = Btree | Gin | Gist
deriving (IndexType -> IndexType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: IndexType -> IndexType -> Bool
$c/= :: IndexType -> IndexType -> Bool
== :: IndexType -> IndexType -> Bool
$c== :: IndexType -> IndexType -> Bool
Eq, Int -> IndexType -> ShowS
[IndexType] -> ShowS
IndexType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [IndexType] -> ShowS
$cshowList :: [IndexType] -> ShowS
show :: IndexType -> String
$cshow :: IndexType -> String
showsPrec :: Int -> IndexType -> ShowS
$cshowsPrec :: Int -> IndexType -> ShowS
Show)
data IndexColumn
= IndexColumn { IndexColumn -> Expression
column :: Expression, IndexColumn -> [IndexColumnOrder]
columnOrder :: [IndexColumnOrder] }
deriving (IndexColumn -> IndexColumn -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: IndexColumn -> IndexColumn -> Bool
$c/= :: IndexColumn -> IndexColumn -> Bool
== :: IndexColumn -> IndexColumn -> Bool
$c== :: IndexColumn -> IndexColumn -> Bool
Eq, Int -> IndexColumn -> ShowS
[IndexColumn] -> ShowS
IndexColumn -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [IndexColumn] -> ShowS
$cshowList :: [IndexColumn] -> ShowS
show :: IndexColumn -> String
$cshow :: IndexColumn -> String
showsPrec :: Int -> IndexColumn -> ShowS
$cshowsPrec :: Int -> IndexColumn -> ShowS
Show)
data IndexColumnOrder
= Asc | Desc | NullsFirst | NullsLast
deriving (IndexColumnOrder -> IndexColumnOrder -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: IndexColumnOrder -> IndexColumnOrder -> Bool
$c/= :: IndexColumnOrder -> IndexColumnOrder -> Bool
== :: IndexColumnOrder -> IndexColumnOrder -> Bool
$c== :: IndexColumnOrder -> IndexColumnOrder -> Bool
Eq, Int -> IndexColumnOrder -> ShowS
[IndexColumnOrder] -> ShowS
IndexColumnOrder -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [IndexColumnOrder] -> ShowS
$cshowList :: [IndexColumnOrder] -> ShowS
show :: IndexColumnOrder -> String
$cshow :: IndexColumnOrder -> String
showsPrec :: Int -> IndexColumnOrder -> ShowS
$cshowsPrec :: Int -> IndexColumnOrder -> ShowS
Show)