!i_      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None&'+;<=>?ACEFKPTV o groundhogThis class helps to shorten the type signatures of user monadic code. If your monad has several connections, e.g., for main and audit databases, create run*Db function runAuditDb :: Action conn a -> m a groundhog.Wraps the passed action into a named savepoint  groundhogTries the transaction, using a provided function which evaluates to an Either. Any Left result will cause transaction rollback.  groundhogConnection manager provides connection to the passed function handles transations. Manager can be a connection itself, a pool, Snaplet in Snap, foundation datatype in Yesod, etc.  groundhogOpens the transaction.  groundhogVExtracts the connection. The connection manager can be a pool or the connection itself groundhog-Datatypes which can be converted directly to & groundhogaRepresents all datatypes that map into several columns. Getting values for those columns is pure. groundhogRepresents all datatypes that map into a single column. Getting value for that column might require monadic actions to access other tables. groundhogRepresents everything which can be put into a database. This data can be stored in multiple columns and tables. To get value of those columns we might need to access another table. That is why the result type is monadic. groundhog_Return name of the type. If it is polymorphic, the names of parameter types are separated with   symbol groundhogConvert a value into something which can be stored in a database column. Note that for complex datatypes it may insert them to return identifier groundhogConstructs a value from a &1. For complex datatypes it may query the database groundhogDescription of value type. It depends on database so that we can have, for example, xml column type in Postgres and varchar type in other databases groundhogGExpr with phantom type helps to keep type safety in complex expressions groundhogUsed to uniformly represent fields, constants and more complex things, e.g., arithmetic expressions. A value should be converted to  for usage in expressions# groundhog-Types which are never NULL when converted to &. Consider the type Maybe (Maybe a). Now Nothing is stored as NULL, so we cannot distinguish between Just Nothing and Nothing which is a problem. The purpose of this class is to ban the inner Maybe's. Maybe this class can be removed when support for inner Maybe's appears.$ groundhogAvoid orphan instances.& groundhogTA raw value which can be stored in any backend and can be marshalled to and from a .2 groundhogCreating some datatypes may require calling a function, using a special constructor, or other syntax. The string (which can have placeholders) is included into query without escaping. The recursive constructions are not allowed, i.e., [PersistValue] cannot contain PersistCustom values.3 groundhog-Datatype for incremental building SQL queries6 groundhogdThe first argument is a flag which defines if the field names should be concatenated with the outer field name (False) or used as is which provides full control over table column names (True). Value False should be the default value so that a datatype can be embedded without name conflict concern. The second argument list of field names and field types.9 groundhogStores a database type. The list contains two kinds of tokens for the type string. Backend will choose a string representation for DbTypePrimitive's, and the string literals will go to the type as-is. As the final step, these tokens are concatenated. For example, [Left "varchar(50)"]* will become a string with max length and [Right DbInt64, Left "[]"]% will become integer[] in PostgreSQL.; groundhogThe reference contains either EntityDef of the parent table and name of the unique constraint. Or for tables not mapped by Groundhog schema name, table name, and list of columns Reference to the autogenerated key of a mapped entity = (Left (entityDef, Nothing), onDelete, onUpdate) Reference to a unique key of a mapped entity = (Left (entityDef, Just uniqueKeyName), onDelete, onUpdate) Reference to a table that is not mapped = (Right ((schema, tableName), columns), onDelete, onUpdate)= groundhog(type, nullable, default value, reference? groundhog(List table name and type of its argumentA groundhogA DB data type. Naming attempts to reflect the underlying Haskell datatypes, eg DbString instead of DbVarchar. Different databases may have different representations for these types.K groundhog ByteStringS groundhog<Defines how to treat the unique set of fields for a datatypeV groundhogis autoincrementedW groundhoglField is either a pair of entity field name and its type or an expression which will be used in query as-is.X groundhogUnique name and list of the fields that form a unique combination. The fields are parametrized to reuse this datatype both with field and DbType and with column name^ groundhogJCreates value of unique key using the data extracted from the passed value_ groundhog@Ordinal number of the unique constraint in the list returned by j` groundhogThis class helps type inference in cases when query does not contain any fields which define the constructor, but the entity has only one. For example, in select $ AutoKeyField ==. k] the condition would need type annotation with constructor name only if we select a sum type.b groundhogqPhantom constructors are made instances of this class. This class should be used only by Template Haskell codegenc groundhogPReturns constructor index which can be used to get ConstructorDef from EntityDefe groundhogDescribes an entity constructorg groundhogConstructor nameh groundhogAutokey name if anyi groundhog%Parameter names with their named typej groundhog/Uniqueness constraints on the constructor fielsl groundhogDescribes an ADT.n groundhog Entity name. )entityName (entityDef v) == persistName vo groundhogCDatabase schema for the entity table and tables of its constructorsp groundhog;Named types of the instantiated polymorphic type parametersq groundhog'List of entity constructors definitionsr groundhogOEither error messages or migration queries with safety flag and execution orders groundhog+Datatype names and corresponding migrationsy groundhogHInsert a new record to a database and return its autogenerated key or ()z groundhogKInsert a new record to a database. For some backends it may be faster than y.{ groundhogTry to insert a record and return Right newkey. If there is a constraint violation for the given constraint, Left oldkey is returned , where oldkey is an identifier of the record with the matching values.| groundhog)Try to insert a record and return Right newkey. If there is a constraint violation for any constraint, Left oldkey is returned , where oldkey is an identifier of the record with the matching values. Note that if several constraints are violated, a key of an arbitrary matching record is returned.} groundhogdReplace a record with the given autogenerated key. Result is undefined if the record does not exist.~ groundhogVReplace a record. The unique key marker defines what unique key of the entity is used. groundhog@Return a list of the records satisfying the condition. Example: aselect $ (FirstField ==. "abc" &&. SecondField >. "def") `orderBy` [Asc ThirdField] `limitTo` 100 groundhog@Return a list of the records satisfying the condition. Example: aselect $ (FirstField ==. "abc" &&. SecondField >. "def") `orderBy` [Asc ThirdField] `limitTo` 100 groundhoglReturn a list of all records. Order is undefined. It can be useful for datatypes with multiple constructors. groundhoglReturn a list of all records. Order is undefined. It can be useful for datatypes with multiple constructors. groundhogFetch an entity from a database groundhog1Fetch an entity from a database by its unique key groundhog6Update the records satisfying the condition. Example: 3update [FirstField =. "abc"] $ FirstField ==. "def" groundhog+Remove the records satisfying the condition groundhogDRemove the record with given key. No-op if the record does not exist groundhogIRemove all records. The entity parameter is used only for type inference. groundhog6Count total number of records satisfying the condition groundhogiCount total number of records with all constructors. The entity parameter is used only for type inference groundhog*Fetch projection of some fields. Example: }project (SecondField, ThirdField) $ (FirstField ==. "abc" &&. SecondField >. "def") `orderBy` [Asc ThirdField] `offsetBy` 100 groundhogWCheck database schema and create migrations for the entity and the entities it contains groundhogExecute raw query groundhogExecute raw query with results groundhogOType of the database default autoincremented key. For example, Sqlite has Int64 groundhogValue of this type can be used as a part of a query. For example, it can be RenderS for relational databases, or BSON for MongoDB. groundhogName of backend groundhog`This class helps to check that limit, offset, or order clauses are added to condition only once. groundhog$False - no DISTINCT, True - DISTINCT groundhogBThe name of the option and part of the SQL which will be put later groundhogBIt can be used in expressions like a regular field. For example, delete (AutoKeyField ==. k) or 9delete (AutoKeyField ==. k ||. SomeField ==. "DUPLICATE") groundhog7This subset of Assignable is for plain database fields. groundhogThis subset of Projection instances is for things that behave like fields. Namely, they can occur in condition expressions (for example, Field and SubField) and on the left side of update statements. For example "lower(field)" is a valid Projection, but not Field like because it cannot be on the left side. Datatypes that index PostgreSQL arrays "arr[5]" or access composites "(comp).subfield" are valid instances of Assignable. groundhog,Any data that can be fetched from a database groundhogIt returns multiple expressions that can be transformed into values which can be selected. Difflist is used for concatenation efficiency. groundhog It is like B. However, we cannot use it for projections in all cases. For the  instances 0 expects entity id instead of the entity values. groundhog7It is used to map field to column names. It can be either a column name for a regular field of non-embedded type or a list of this field and the outer fields in reverse order. Eg, fieldChain $ SomeField ~> Tuple2_0Selector may result in [("val0", DbString), ("some", DbEmbedded False [dbType "", dbType True])]. groundhog"Defines sort order of a result-set groundhog!Represents condition for a query. groundhogaIt allows to store autogenerated keys of one database in another if they have different datatype. groundhog3A phantom datatype to make instance head different u (UniqueMarker v) groundhog3A phantom datatype to make instance head different c (ConstructorMarker v) groundhog8Key marked with this type can have value for any backend groundhogA holder for Unique constraints groundhog;Only instances of this class can be persisted in a database groundhogcThis type is used for typesafe manipulation of separate fields of datatype v. Each constructor in p corresponds to its field in a datatype v. It is parametrised by constructor phantom type and field value type. groundhogA unique identifier of a value stored in a database. This may be a primary key, a constraint or unique indices. The second parameter is the key description. groundhognThis type is the default autoincremented key for the entity. If entity does not have such key, AutoKey v = (). groundhog,This type is the default key for the entity. groundhogEIt is HFalse for entity with one constructor and HTrue for sum types. groundhog*Returns a complete description of the type groundhogMarshalls value to a list of & ready for insert to a database groundhog&Constructs the value from the list of & groundhogUReturns constructor number and a list of uniques names and corresponding field values groundhogIs internally used by FieldLike Field instance We could avoid this function if class FieldLike allowed FieldLike Fields Data or FieldLike (Fields Data). However that would require additional extensions in user-space code groundhog8Accesses fields of the embedded datatypes. For example, HSomeField ==. ("abc", "def") ||. SomeField ~> Tuple2_0Selector ==. "def" groundhogSelect DISTINCT rows. select $ distinct CondEmpty groundhog@It helps to run database operations within an application monad. groundhogVRuns action within connection. It can handle a simple connection, a pool of them, etc. groundhog!Runs TryAction within connection. groundhogTries Action within connection. groundhogHIt helps to run database operations within an application monad. Unlike ' it does not wrap action in transaction groundhogIt is similar to % but runs action without transaction. flip withConn conn $ \conn -> liftIO $ do -- transaction is already opened by withConn at this point someIOAction runDbConn' (insert_ value) conn  groundhogIt helps to run 3 within a monad. Make sure that transaction is open groundhog keep in cache groundhogquery groundhogpositional parameters groundhog keep in cache groundhogquery groundhogpositional parameters  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy{}~|z&'()*+,-./012$%34# !"ABCDEFGHIJKL@<=>?lmnopqk6759:8efghijdbc`a]^_XYZ[\WSTUVMNOPQR;rstxy{}~|zwvu  5None;<=>?CV groundhogname in the record, bar groundhogcolumn name, SQLbar groundhog3column type, inet, NUMERIC(5, 2), VARCHAR(50), etc. groundhog/name of constructor in the Field GADT, BarField groundhogdefault value in the database groundhogname of a pair of functions groundhogSProduce the migrations but not execute them. Fails when an unsafe migration occurs. groundhogAReturns either a list of errors in migration or a list of queries groundhogVExecute the migrations with printing to stderr. Fails when an unsafe migration occurs. groundhog>Execute the migrations. Fails when an unsafe migration occurs. groundhog]Execute migrations. Executes the unsafe migrations without warnings and prints them to stderr groundhogPretty print the migrations  groundhogCreates migrations and executes them with printing to stderr. Fails when an unsafe migration occurs. > runMigration m = createMigration m >>= executeMigration! groundhogCreates migrations and silently executes them. Fails when an unsafe migration occurs. > runMigration m = createMigration m >>= executeMigrationSilent" groundhogCreates migrations and executes them with printing to stderr. Executes the unsafe migrations without warnings > runMigrationUnsafe m = createMigration m >>= executeMigrationUnsafe# groundhogLJoins the migrations. The result is either all error messages or all queries< groundhogReturns only old elements, only new elements, and matched pairs (old, new). The new ones exist only in datatype, the old are present only in DB, match is typically by name (the properties of the matched elements may differ). groundhogTrue - support unsafe queries& groundhogcomputation to run first groundhog>computation to run afterward (even if an exception was raised)' groundhog-computation to run first ("acquire resource") groundhog,computation to run last ("release resource") groundhogcomputation to run in-between7 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF7 !"#*+,-./0123456789$%'&();:<=>?DE@ABCFNone&'+;=>?FT UVRSTNOPQIJKLMUVRSTNOPQIJKLMNone+;<=>?AEFT's groundhog7This helper class can make type signatures more concise groundhog+Instances of this type can be converted to J. It is useful for uniform manipulation over fields, constant values, etc. groundhog Update field groundhogBoolean "and" operator. groundhogBoolean "or" operator. groundhogyThis function more limited than (==.), but has better type inference. If you want to compare your value to Nothing with (==.)2 operator, you have to write the types explicitly !myExpr ==. (Nothing :: Maybe Int). TODO: restrict db r groundhogConverts value to q. It can help to pass values of different types into functions which expect arguments of the same type, like (+). groundhog_It is kept for compatibility with older Groundhog versions and can be replaced with "liftExpr". 332444444None "#;<=FT<  groundhogThis class distinguishes databases which support trigonometry and other math functions. For example, PostgreSQL has them but Sqlite does not. It contains ad hoc members for features whose syntax differs across the databases. groundhogNatural logarithm groundhogThis class distinguishes databases which support SQL-specific expressions. It contains ad hoc members for features whose syntax differs across the databases. groundhogEscape function, priority of the outer operator. The result is a list for the embedded data which may expand to several RenderS. groundhogJIf we reuse complex expression several times, prerendering it saves time.  can be obtained with  groundhog`Helps creating an expression which depends on render configuration. It can be used in pair with . b myExpr x = mkExprWithConf $ conf _ -> let x' = prerenderExpr conf x in x' + x' * x' @ groundhogYRenders conditions for SQL backend. Returns Nothing if the fields don't have any columns. groundhogYRenders conditions for SQL backend. Returns Nothing if the fields don't have any columns. groundhog;Returns escaped table name optionally qualified with schema groundhog@Returns escaped main table name optionally qualified with schema.34     .    34 None<FT?. groundhog Conditions groundhog.It is returned when none of conditions is true%&'()*+,-.'(%&)*.+,-None "#+<FQTVDq: groundhog.It may call the passed function multiple times; groundhogfunction to run query@ groundhogfunction to execute queryC groundhogfunction to run query groundhog0allow multiple duplication of uniques with nulls6789:;<=>?@ABCDEFG6798:;<=>?@ABDECFGNone"#FTZO ^ groundhoguSql pieces for the create table statement that add constraints and alterations for running after the table is createdf groundhoglQualified table name, create statement, structure of table from DB, structure of table from datatype, altersg groundhog,Qualified trigger name, qualified table nameh groundhog2Qualified trigger name, qualified table name, bodyi groundhog>Qualified trigger name, qualified table name, field name, bodyj groundhog$Statement which creates the functionk groundhogQualified function namel groundhogSchema name, if not exists groundhogconstraint name and reference groundhog Either column name or expression groundhog;Schema-qualified name of a table of another database object groundhogchild column, parent column groundhogCreate migration for a given entity and all entities it depends on. The stateful Map is used to avoid duplicate migrations when an entity type occurs several times in a datatypeI groundhog Schema nameK groundhog Schema nameL groundhogQualified table nameM groundhogQualified table nameN groundhogQualified trigger nameO groundhogQualified function name groundhog%Argument types, return type, and body groundhogmigrate schema groundhogmigrate entity groundhog migrate list groundhoginitial entity groundhog From database groundhog From datatypePHIMJKLNOPQRZSTUVWXY[\]^_`abcdfeghijklmunopqrstvwzxy{|}~P}~vwzxy{|munopqrstdfeghijklQRZSTUVWXY[\]^_`abcHIMJKLNOP None]S^xy{}~|zUVRSTNOPQIJKLM "FSxy{}~|z^UVRSTNOPQIJKLMF "   !"#$%&'()*++,-./01223456789:;<=>?@@ABACDCEFGHIGJKLMNOPQRSTUVWXYZ[\]^_`a`bcdefghijklmlnopqrsrtuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;;<=>?@ABCDEFGHIJKLMNOPQRSTUOVWXYZ[\]]^_`abcddefghijjklmnoopqrstuvwxyz{|}~&groundhog-0.9.0-Dyt3NFx2QcF977pGCbFnlgDatabase.Groundhog.Generic.Sql(Database.Groundhog.Generic.Sql.FunctionsDatabase.Groundhog.CoreDatabase.Groundhog.GenericDatabase.Groundhog.InstancesDatabase.Groundhog.Expression0Database.Groundhog.Generic.PersistBackendHelpers$Database.Groundhog.Generic.MigrationdelimDatabase.Groundhogbase Data.String fromStringGHC.Base<> GHC.Floatatan2PersistBackendConn getConnection SavepointwithConnSavepointTryConnectionManager tryWithConnConnectionManagerwithConnExtractConnection extractConnPrimitivePersistFieldtoPrimitivePersistValuefromPrimitivePersistValuePurePersistFieldtoPurePersistValuesfromPurePersistValuesSinglePersistFieldtoSinglePersistValuefromSinglePersistValue PersistField persistNametoPersistValuesfromPersistValuesdbTypeExpr UntypedExprExprRaw ExprFieldExprPureExprCond NeverNullZT PersistValue PersistString PersistTextPersistByteString PersistInt64 PersistDouble PersistBool PersistDayPersistTimeOfDayPersistUTCTimePersistZonedTime PersistNull PersistCustomUtf8 EmbeddedDef EmbeddedDef' OtherTypeDef OtherTypeDef'ParentTableReferenceDbTypeDbTypePrimitive DbEmbeddedDbListDbTypePrimitive'DbStringDbInt32DbInt64DbRealDbBoolDbDayDbTime DbDayTimeDbDayTimeZonedDbBlobDbOtherReferenceActionTypeNoActionRestrictCascadeSetNull SetDefault UniqueTypeUniqueConstraint UniqueIndex UniquePrimary UniqueDef UniqueDef' uniqueDefName uniqueDefTypeuniqueDefFields IsUniqueKey extractUnique uniqueNum EntityConstrentityConstrNum ConstructorphantomConstrNumConstructorDefConstructorDef' constrNameconstrAutoKeyName constrParams constrUniques EntityDef EntityDef' entityName entitySchema typeParams constructorsSingleMigrationNamedMigrations Migration RowStream TryActionActionPersistBackendConninsertinsert_insertBy insertByAllreplace replaceByselect selectStream selectAllselectAllStreamgetgetByupdatedeletedeleteBy deleteAllcountcountAllproject projectStreammigrate executeRawqueryRaw insertListgetList DbDescriptor AutoKeyTypeQueryRaw backendName DbPersistHasSelectOptionsHasLimit HasOffsetHasOrder HasDistinctgetSelectOptions SelectOptions condOptions limitOptions offsetOptions orderOptionsdistinctOptionsdbSpecificOptionsRestrictionHolder AutoKeyFieldSubFieldEmbeddedSelector selectorNum FieldLike fieldChain Assignable Projection' Projection ProjectionDbProjectionRestrictionprojectionExprsprojectionResult FieldChainOrderAscDescUpdate ExprRelationEqNeGtLtGeLeCondAndOrNotCompareCondRaw CondEmptyHTrueHFalse KeyForBackend UniqueMarkerConstructorMarkerBackendSpecificUnique PersistEntityFieldKeyAutoKey DefaultKey IsSumType entityDeftoEntityPersistValuesfromEntityPersistValues getUniquesentityFieldChain~>limitTooffsetByorderBydistinct runDbPersistfromUtf8runDb runDbConn runTryDbConn runTryDbConn'runDb' runDbConn' withSavepoint $fReadUtf8 $fShowUtf8$fEqUtf8$fOrdZT$fEqZT$fPersistBackendReaderT#$fHasSelectOptionsSelectOptionsdb'r$fHasSelectOptionsConddb'r$fProjection'pdbra$fEqExpr $fShowExpr$fShowExprRelation$fShowUniqueType$fEqUniqueType$fOrdUniqueType$fShowUniqueDef'$fEqUniqueDef'$fShowConstructorDef'$fEqConstructorDef'$fShowEntityDef'$fEqEntityDef'$fEqReferenceActionType$fShowReferenceActionType$fEqOtherTypeDef'$fShowOtherTypeDef'$fEqDbTypePrimitive'$fShowDbTypePrimitive'$fEqEmbeddedDef'$fShowEmbeddedDef' $fEqDbType $fShowDbType$fShowZT$fReadZT$fEqPersistValue$fShowPersistValue$fReadPersistValue PSFieldDef psFieldName psDbFieldName psDbTypeName psExprName psEmbeddedDefpsDefaultValuepsReferenceParentpsFieldConvertercreateMigration getQueriesexecuteMigrationexecuteMigrationSilentexecuteMigrationUnsafeprintMigration runMigrationrunMigrationSilentrunMigrationUnsafemergeMigrations failMessagefailMessageNamedfinallybracket onExceptionapplyDbTypeSettingsprimToPersistValueprimFromPersistValueprimToPurePersistValuesprimFromPurePersistValuesprimToSinglePersistValueprimFromSinglePersistValuepureToPersistValuepureFromPersistValuesingleToPersistValuesingleFromPersistValuetoSinglePersistValueUniquefromSinglePersistValueUniquetoPersistValuesUniquefromPersistValuesUniquetoSinglePersistValueAutoKeyfromSinglePersistValueAutoKey replaceOnefindOne matchElements haveSameElems phantomDbgetDefaultAutoKeyTypefirstRow streamToList mapStream joinStreamsgetUniqueFieldsisSimple deleteByKey$fEqPSFieldDef$fShowPSFieldDefTuple5_0SelectorTuple5_1SelectorTuple5_2SelectorTuple5_3SelectorTuple5_4SelectorTuple4_0SelectorTuple4_1SelectorTuple4_2SelectorTuple4_3SelectorTuple3_0SelectorTuple3_1SelectorTuple3_2SelectorTuple2_0SelectorTuple2_1Selector $fToJSONKey $fFromJSONKey$fToJSONPersistValue$fFromJSONPersistValue $fFieldLikeuk$fFieldLikeFielda$fFieldLikeSubFielda$fFieldLikeAutoKeyFielda$fAssignableuk$fAssignableFielda$fAssignableSubFielda$fAssignableAutoKeyFielda$fProjection(,,,,)(,,,,)$fProjection(,,,)(,,,)$fProjection(,,)(,,)$fProjection(,)(,)$fProjectionuk$fProjectioncv$fProjectionAutoKeyFielda$fProjectionConda$fProjectionExpra$fProjectionSubFielda$fProjectionFielda$fPersistFieldKeyForBackend$fPersistField(,,,,)$fPersistField(,,,)$fPersistField(,,)$fPersistField(,)$fPersistField()$fPersistField[]$fPersistFieldMaybe$fPersistFieldZonedTime$fPersistFieldUTCTime$fPersistFieldTimeOfDay$fPersistFieldDay$fPersistFieldBool$fPersistFieldDouble$fPersistFieldWord64$fPersistFieldWord32$fPersistFieldWord16$fPersistFieldWord8$fPersistFieldInt64$fPersistFieldInt32$fPersistFieldInt16$fPersistFieldInt8$fPersistFieldInt$fPersistFieldText$fPersistFieldText0$fPersistField[]0$fPersistFieldByteString$fPersistFieldByteString0$fNeverNullKeyForBackend$fNeverNullKey$fNeverNullZonedTime$fNeverNullUTCTime$fNeverNullTimeOfDay$fNeverNullDay$fNeverNullBool$fNeverNullDouble$fNeverNullWord64$fNeverNullWord32$fNeverNullWord16$fNeverNullWord8$fNeverNullInt64$fNeverNullInt32$fNeverNullInt16$fNeverNullInt8$fNeverNullInt$fNeverNullByteString$fNeverNullByteString0$fNeverNullText$fNeverNullText0 $fNeverNull[]$fSinglePersistFielda$fPurePersistFielda$$fPrimitivePersistFieldKeyForBackend$fPrimitivePersistFieldMaybe $fPrimitivePersistFieldZonedTime$fPrimitivePersistFieldUTCTime $fPrimitivePersistFieldTimeOfDay$fPrimitivePersistFieldDay$fPrimitivePersistFieldBool$fPrimitivePersistFieldDouble$fPrimitivePersistFieldWord64$fPrimitivePersistFieldWord32$fPrimitivePersistFieldWord16$fPrimitivePersistFieldWord8$fPrimitivePersistFieldInt64$fPrimitivePersistFieldInt32$fPrimitivePersistFieldInt16$fPrimitivePersistFieldInt8$fPrimitivePersistFieldInt!$fPrimitivePersistFieldByteString"$fPrimitivePersistFieldByteString0$fPrimitivePersistFieldText$fPrimitivePersistFieldText0$fPrimitivePersistField[]$fPurePersistField(,,,,)$fPurePersistField(,,,)$fPurePersistField(,,)$fPurePersistField(,)$fPurePersistField()$fEmbedded(,,,,)$fEmbedded(,,,)$fEmbedded(,,) $fEmbedded(,)$fEntityConstr'HTruec$fEntityConstr'HFalsec$fEntityConstrvc ExpressionOf Unifiable ExpressiontoExpr=.&&.||.==./=.<.<=.>.>=.isFieldNothingliftExprtoArith$fExpressiondb'r'Expr$fExpressiondbra$fExpressiondb'r'Cond$fExpressiondbr'u$fExpressiondbr'AutoKeyField$fExpressiondb'r'SubField$fExpressiondbr'Field $fUnifiableaa$fNormalizeHTruetr$fNormalizeHTrueCondr$fNormalizeHFalseCondr$fNormalizeHTrueAutoKeyFieldr$fNormalizeHTrueur$fNormalizeHTrueExprr$fNormalizeHTrueSubFieldr$fNormalizeHTrueFieldr$fExpressionOfdbraa' $fUnifiableab$fNormalizeValuear$fNormalizeHFalsetr $fNormalizeHFalseAutoKeyField(,)$fNormalizeHFalseu(,)$fNormalizeHFalseExpr(,)$fNormalizeHFalseSubField(,)$fNormalizeHFalseField(,)$fTypeEqxxHTrue $fTypeEqxyb$fNormalizeKeyHFalsevuk$fNormalizeKeyHTruevuk$fNormalizeValueKeyr$fNormalizeValueMayber FloatingSqlDblog'logBase'SqlDbappendsignum'quotRem'equalsOperatornotEqualsOperator RenderConfigescSnippetRenderSgetQuery getValues StringLikefromChar prerenderExprmkExprWithConf renderExprrenderExprPriorityrenderExprExtendedrenderPersistValueparensoperatorfunctionmkExpr renderCond renderChaindefaultShowPrim renderOrders renderFieldsflatten commasJoin intercalateS renderUpdates tableName mainTableName$fIsStringUtf8 $fMonoidUtf8$fSemigroupUtf8$fStringLike[]$fStringLikeUtf8$fStringLikeRenderS$fIsStringRenderS$fMonoidRenderS$fSemigroupRenderSin_notIn_likenotLikeloweruppercotradiansdegreescase_$fIntegralExpr $fEnumExpr $fRealExpr $fOrdExpr$fFloatingExpr$fFractionalExpr $fNumExprSchemaAnalyzer schemaExistsgetCurrentSchema listTableslistTableTriggers analyzeTableanalyzeTriggeranalyzeFunctiongetMigrationPack MigrationPack compareTypes compareRefs compareUniqscompareDefaultsmigTriggerOnDeletemigTriggerOnUpdate migConstrescapeautoincrementedKeyTypeName mainTableIddefaultPriorityaddUniquesReferences showSqlType showColumn showAlterDbdefaultReferenceOnDeletedefaultReferenceOnUpdateAlterDBAddTable AlterTable DropTriggerAddTriggerOnDeleteAddTriggerOnUpdateCreateOrReplaceFunction DropFunction CreateSchema AddUniqueDropConstraint DropIndex AddReference DropReference DropColumn AddColumn AlterColumnTypeIsNullNotNullDefault NoDefault UpdateValue TableInfo tableColumns tableUniquestableReferences UniqueDefInfo QualifiedName ReferencereferencedTableNamereferencedColumnsreferenceOnDeletereferenceOnUpdateColumncolNamecolNullcolType colDefaultmigrateRecursively migrateSchema migrateEntity migrateList getAltersdefaultMigConstrshowReferenceActionreadReferenceAction $fEqColumn $fShowColumn$fShowReference$fShowTableInfo$fShowAlterColumn$fShowAlterTable $fShowAlterDBrenderCondPriority