module Database.Relational.Query.Internal.UntypedTable (
Untyped (Untyped), name', width', columns', (!),
) where
import Data.Array (Array, elems)
import qualified Data.Array as Array
import Database.Relational.Query.Internal.SQL (ColumnSQL)
data Untyped = Untyped String Int (Array Int ColumnSQL) deriving Show
name' :: Untyped -> String
name' (Untyped n _ _) = n
width' :: Untyped -> Int
width' (Untyped _ w _) = w
columnArray :: Untyped -> Array Int ColumnSQL
columnArray (Untyped _ _ c) = c
columns' :: Untyped -> [ColumnSQL]
columns' = elems . columnArray
(!) :: Untyped
-> Int
-> ColumnSQL
t ! i = columnArray t Array.! i