@@ -88,8 +88,8 @@ statements
8888-- database, like a `createTable`, `dropTable`, or `alterTable` command.
8989-- `Definition`s may be composed using the `>>>` operator.
9090newtype Definition
91− (schema0 :: TablesType)
92− (schema1 :: TablesType)
91+ (schema0 :: SchemaType)
92+ (schema1 :: SchemaType)
9393 = UnsafeDefinition { renderDefinition :: ByteString }
9494 deriving (GHC.Generic,Show,Eq,Ord,NFData)
9595
@@ -115,7 +115,7 @@ createTable
115115 , columns ~ (col ': cols)
116116 , SOP.SListI columns
117117 , SOP.SListI constraints
118− , schema1 ~ Create table (constraints :=> columns) schema0 )
118+ , schema1 ~ Create table ('Table (constraints :=> columns)) schema0 )
119119 => Alias table -- ^ the name of the table to add
120120 -> NP (Aliased TypeExpression) columns
121121 -- ^ the names and datatype of each column
@@ -138,7 +138,7 @@ createTable table columns constraints = UnsafeDefinition $
138138-- :}
139139-- "CREATE TABLE IF NOT EXISTS \"tab\" (\"a\" int, \"b\" real);"
140140createTableIfNotExists
141− :: ( Has table schema (constraints :=> columns)
141+ :: ( Has table (TablesOf schema) (constraints :=> columns)
142142 , SOP.SListI columns
143143 , SOP.SListI constraints )
144144 => Alias table -- ^ the name of the table to add
@@ -193,7 +193,7 @@ renderCreation table columns constraints = renderAlias table
193193-- violate a constraint, an error is raised. This applies
194194-- even if the value came from the default value definition.
195195newtype TableConstraintExpression
196− (schema :: TablesType)
196+ (schema :: SchemaType)
197197 (table :: Symbol)
198198 (tableConstraint :: TableConstraint)
199199 = UnsafeTableConstraintExpression
@@ -224,7 +224,7 @@ newtype TableConstraintExpression
224224-- >>> renderDefinition definition
225225-- "CREATE TABLE \"tab\" (\"a\" int NOT NULL, \"b\" int NOT NULL, CONSTRAINT \"inequality\" CHECK ((\"a\" > \"b\")));"
226226check
227− :: ( Has alias schema table
227+ :: ( Has alias (TablesOf schema) table
228228 , HasAll aliases (TableToColumns table) subcolumns )
229229 => NP Alias aliases
230230 -> (forall tab. Condition '[tab ::: ColumnsToRelation subcolumns] 'Ungrouped '[])
@@ -255,7 +255,7 @@ check _cols condition = UnsafeTableConstraintExpression $
255255-- >>> renderDefinition definition
256256-- "CREATE TABLE \"tab\" (\"a\" int, \"b\" int, CONSTRAINT \"uq_a_b\" UNIQUE (\"a\", \"b\"));"
257257unique
258− :: ( Has alias schema table
258+ :: ( Has alias (TablesOf schema) table
259259 , HasAll aliases (TableToColumns table) subcolumns )
260260 => NP Alias aliases
261261 -> TableConstraintExpression schema alias ('Unique aliases)
@@ -286,7 +286,7 @@ unique columns = UnsafeTableConstraintExpression $
286286-- >>> renderDefinition definition
287287-- "CREATE TABLE \"tab\" (\"id\" serial, \"name\" text NOT NULL, CONSTRAINT \"pk_id\" PRIMARY KEY (\"id\"));"
288288primaryKey
289− :: ( Has alias schema table
289+ :: ( Has alias (TablesOf schema) table
290290 , HasAll aliases (TableToColumns table) subcolumns
291291 , AllNotNull subcolumns )
292292 => NP Alias aliases
@@ -397,8 +397,8 @@ type ForeignKeyed schema
397397 columns refcolumns
398398 constraints cols
399399 reftys tys =
400− ( Has child schema table
401− , Has parent schema reftable
400+ ( Has child (TablesOf schema) table
401+ , Has parent (TablesOf schema) reftable
402402 , HasAll columns (TableToColumns table) tys
403403 , reftable ~ (constraints :=> cols)
404404 , HasAll refcolumns cols reftys
@@ -467,7 +467,7 @@ alterTable
467467 :: KnownSymbol alias
468468 => Alias alias -- ^ table to alter
469469 -> AlterTable alias table schema -- ^ alteration to perform
470− -> Definition schema (Alter alias table schema)
470+ -> Definition schema (Alter alias ('Table table) schema)
471471alterTable table alteration = UnsafeDefinition $
472472 "ALTER TABLE"
473473 <+> renderAlias table
@@ -492,7 +492,7 @@ alterTableRename table0 table1 = UnsafeDefinition $
492492newtype AlterTable
493493 (alias :: Symbol)
494494 (table :: TableType)
495− (schema :: TablesType) =
495+ (schema :: SchemaType) =
496496 UnsafeAlterTable {renderAlterTable :: ByteString}
497497 deriving (GHC.Generic,Show,Eq,Ord,NFData)
498498
@@ -509,7 +509,7 @@ newtype AlterTable
509509-- "ALTER TABLE \"tab\" ADD CONSTRAINT \"positive\" CHECK ((\"col\" > 0));"
510510addConstraint
511511 :: ( KnownSymbol alias
512− , Has tab schema table0
512+ , Has tab (TablesOf schema) table0
513513 , table0 ~ (constraints :=> columns)
514514 , table1 ~ (Create alias constraint constraints :=> columns) )
515515 => Alias alias
@@ -533,7 +533,7 @@ addConstraint alias constraint = UnsafeAlterTable $
533533-- "ALTER TABLE \"tab\" DROP CONSTRAINT \"positive\";"
534534dropConstraint
535535 :: ( KnownSymbol constraint
536− , Has tab schema table0
536+ , Has tab (TablesOf schema) table0
537537 , table0 ~ (constraints :=> columns)
538538 , table1 ~ (Drop constraint constraints :=> columns) )
539539 => Alias constraint
@@ -572,7 +572,7 @@ class AddColumn ty where
572572 -- "ALTER TABLE \"tab\" ADD COLUMN \"col2\" text;"
573573 addColumn
574574 :: ( KnownSymbol column
575− , Has tab schema table0
575+ , Has tab (TablesOf schema) table0
576576 , table0 ~ (constraints :=> columns)
577577 , table1 ~ (constraints :=> Create column ty columns) )
578578 => Alias column -- ^ column to add
@@ -601,7 +601,7 @@ instance {-# OVERLAPPABLE #-} AddColumn ('NoDef :=> 'Null ty)
601601-- "ALTER TABLE \"tab\" DROP COLUMN \"col2\";"
602602dropColumn
603603 :: ( KnownSymbol column
604− , Has tab schema table0
604+ , Has tab (TablesOf schema) table0
605605 , table0 ~ (constraints :=> columns)
606606 , table1 ~ (constraints :=> Drop column columns) )
607607 => Alias column -- ^ column to remove
@@ -623,7 +623,7 @@ dropColumn column = UnsafeAlterTable $
623623renameColumn
624624 :: ( KnownSymbol column0
625625 , KnownSymbol column1
626− , Has tab schema table0
626+ , Has tab (TablesOf schema) table0
627627 , table0 ~ (constraints :=> columns)
628628 , table1 ~ (constraints :=> Rename column0 column1 columns) )
629629 => Alias column0 -- ^ column to rename
@@ -635,7 +635,7 @@ renameColumn column0 column1 = UnsafeAlterTable $
635635-- | An `alterColumn` alters a single column.
636636alterColumn
637637 :: ( KnownSymbol column
638− , Has tab schema table0
638+ , Has tab (TablesOf schema) table0
639639 , table0 ~ (constraints :=> columns)
640640 , Has column columns ty0
641641 , tables1 ~ (constraints :=> Alter column ty1 columns))