.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None&',0136;<=>?FKQTVh3Q.Specifies how we should handle lock conflicts.See  Ohttps://www.postgresql.org/docs/9.5/static/sql-select.html#SQL-FOR-UPDATE-SHAREthe manual section for more informationRNOWAIT2. Report an error rather than waiting for the lockS SKIP LOCKED3. Rather than wait for a lock, skip the row insteadTCSpecifies the level of lock that will be taken against a row. See  Qhttps://www.postgresql.org/docs/current/static/explicit-locking.html#LOCKING-ROWSthe manual section for more information.U UPDATEV  NO KEY UPDATEW SHAREX  KEY SHARE for Postgres for Postgres for Postgres for PostgresoRepresentation of an arbitrary Postgres command. This is the combination of the command syntax (repesented by 3), as well as the type of command (represented by [). The command type is necessary for us to know how to retrieve results from the database.]A piece of Postgres SQL syntax, which may contain embedded escaped byte and text sequences. / composes monoidally, and may be created with , , ,  escapBytea, and .cPostgres TypeInfo for tsvector TODO Is the Oid stable from postgres instance to postgres instance?LIMIT OFFSET  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~պ}~z{|wxy^_`atuvqrsnopklmhijefgbcdKLMIJFGHABCDE=>?@9:;<6782345./01+,-()*%&'"#$ !YZ[\]TUVWXQRSNOP2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<None&'016;<=>?FQTV]hC0The Postgres backend type, used to parameterize U. See the definitions there for more information. The corresponding query monad is Pg. See documentation for  and the  https://tathougies.github/beam/ user guide- for more information on using this backend.nDeserialize integral fields, possibly downcasting from a larger integral type, but only if we won't lose dataNone&'+,-016;<=>?FKQSTVh0J Postgres MONEY" data type. A simple wrapper over , because Postgres money format is locale-dependent, and we don't handle currency symbol placement, digit grouping, or decimal separation.The  - function can be used to convert a number to .Postgres provides separate json_ and jsonb_j functions. However, we know what we're dealing with based on the type of data, so we can be less obtuse.YFor more information on how these functions behave, see the Postgres manual section on  Bhttps://www.postgresql.org/docs/current/static/functions-json.htmlJSON.The  json_each or  jsonb_each function. Values returned as json or jsonb respectively. Use  to join against the resultLike #, but returning text values insteadThe json_object_keys and jsonb_object_keys function. Use  to join against the result.The json_array_elements and jsonb_array_elements function. Use  to join against the resultLike , but returning the values as The  json_typeof or  jsonb_typeof functionThe json_strip_nulls or jsonb_strip_nulls function.The json_agg or  jsonb_agg aggregate.The json_object_agg or jsonb_object_aggS. The first argument gives the key source and the second the corresponding values.Output row of  and Output row of "Key-value pair, used as output of  and  The Postgres JSONBR type, which stores JSON-encoded data in a postgres-specific binary format. Like I, the type parameter indicates the Hgaskell type which the JSON encodes.;Fields with this type are automatically given the Postgres JSONB type The Postgres JSON type, which stores textual values that represent JSON objects. The type parameter indicates the Haskell type which the JSON encodes. This type must be a member of  and E in order for deserialization and serialization to work as expected.The defaultMigratableDbSettings. function automatically assigns the postgres JSON type to fields with this type.If you are extending beam-postgres and provide another expression context that can be represented in an array, provide an empty instance of this class.An expression context that determines which types of expressions can be put inside an array element. Any scalar, aggregate, or window expression can be placed within an array.:A query that can be run against a document contained in a .-When this field is embedded in a beam table, defaultMigratableDbSettings$ will give the column the postgres TSVECTOR type7The identifier of a Postgres text search configuration.Use the . instance to construct new values of this typeIThe type of a document preprocessed for full-text search. The contained ' is the Postgres representation of the TSVECTOR type. Use , to construct these on-the-fly from strings.-When this field is embedded in a beam table, defaultMigratableDbSettings$ will give the column the postgres TSVECTOR type. Postgres NOW()) function. Returns the server's timestamp Postgres ILIKE) operator. A case-insensitive version of .CA full-text search configuration with sensible defaults for english The Postgres  to_tsvector9 function. Given a configuration and string, return the TSVECTOR, that represents the contents of the string.Determine if the given TSQUERY* matches the document represented by the TSVECTOR@. Behaves exactly like the similarly-named operator in postgres.3Index into the given array. This translates to the  array[ index]f syntax in postgres. The beam operator name has been chosen to match the 'Data.Vector.(!)' operator. Postgres  array_dims()L function. Returns a textual representation of the dimensions of the array.|Return the upper or lower bound of the given array at the given dimension (statically supplied as a type application on a ). Note that beam will attempt to statically determine if the dimension is in range. GHC errors will be thrown if this cannot be proved.EFor example, to get the upper bound of the 2nd-dimension of an array: &arrayUpper_ @2 vectorValuedExpression |Return the upper or lower bound of the given array at the given dimension (statically supplied as a type application on a ). Note that beam will attempt to statically determine if the dimension is in range. GHC errors will be thrown if this cannot be proved.EFor example, to get the upper bound of the 2nd-dimension of an array: &arrayUpper_ @2 vectorValuedExpression These functions can be used to find the lower and upper bounds of an array where the dimension number is not known until run-time. They are marked unsafe because they may cause query processing to fail at runtime, even if they typecheck successfully.These functions can be used to find the lower and upper bounds of an array where the dimension number is not known until run-time. They are marked unsafe because they may cause query processing to fail at runtime, even if they typecheck successfully._Get the size of the array at the given (statically known) dimension, provided as a type-level  . Like the  and J functions,throws a compile-time error if the dimension is out of bounds.Get the size of an array at a dimension not known until run-time. Marked unsafe as this may cause runtime errors even if it type checks. The Postgres @>U operator. Returns true if every member of the second array is present in the first. The Postgres <@U operator. Returns true if every member of the first array is present in the second. Postgres ||= operator. Concatenates two vectors and returns their result.7Build a 1-dimensional postgres array from an arbitrary  containing expressions.4Build a 1-dimensional postgres array from a subquery Postgres @> and <@ operators for JSON. Return true if the json object pointed to by the arrow is completely contained in the other. See the Postgres documentation for more in formation on what this means. Postgres @> and <@ operators for JSON. Return true if the json object pointed to by the arrow is completely contained in the other. See the Postgres documentation for more in formation on what this means.:Access a JSON array by index. Corresponds to the Postgres ->I operator. See '(->$)' for the corresponding operator for object access.8Acces a JSON object by key. Corresponds to the Postgres ->B operator. See '(->#)' for the corresponding operator for arrays.fAccess a JSON array by index, returning the embedded object as a string. Corresponds to the Postgres ->>C operator. See '(->>$)' for the corresponding operator on objects.eAccess a JSON object by key, returning the embedded object as a string. Corresponds to the Postgres ->>B operator. See '(->>#)' for the corresponding operator on arrays.sAccess a deeply nested JSON object. The first argument is the JSON object to look within, the second is the path of keys from the first argument to the target. Returns the result as a new json value. Note that the postgres function allows etiher string keys or integer indices, but this function only allows string keys. PRs to improve this functionality are welcome./Like '(#>)' but returns the result as a string. Postgres ?R operator. Checks if the given string exists as top-level key of the json object. Postgres ?| and ?&n operators. Check if any or all of the given strings exist as top-level keys of the json object respectively. Postgres ?| and ?&n operators. Check if any or all of the given strings exist as top-level keys of the json object respectively. Postgres -` operator on json objects. Returns the supplied json object with the supplied key deleted. See + for the corresponding operator on arrays. Postgres - operator on json arrays. See , for the corresponding operator on objects. Postgres #-Y operator. Removes all the keys specificied from the JSON object and returns the result. Postgres json_array_length` function. The supplied json object should be an array, but this isn't checked at compile-time. The postgres  jsonb_set function.  pgJsonUpdate expects the value specified by the path in the second argument to exist. If it does not, the first argument is not modified. J will create any intermediate objects necessary. This corresponds to the create_missing argument of  jsonb_set) being set to false or true respectively. The postgres  jsonb_set function.  pgJsonUpdate expects the value specified by the path in the second argument to exist. If it does not, the first argument is not modified. J will create any intermediate objects necessary. This corresponds to the create_missing argument of  jsonb_set) being set to false or true respectively. Postgres  jsonb_pretty function>An aggregate that adds each value to the resulting array. See  pgArrayOverC if you want to specify a quantifier. Corresponds to the Postgres  ARRAY_AGG function. Postgres  ARRAY_AGGf with an explicit quantifier. Includes each row that meets the quantification criteria in the result. Postgres bool_or5 aggregate. Returns true if any of the rows are true. Postgres bool_and3 aggregate. Returns false unless every row is true.iJoins the string value in each row of the first argument, using the second argument as a delimiter. See 1 if you want to provide explicit quantification. The Postgres  string_aggx function, with an explicit quantifier. Joins the values of the second argument using the delimiter given by the third. }Modify a query to only return rows where the supplied key function returns a unique value. This corresponds to the Postgres  DISTINCT ON support. ,Attempt to pack a floating point value as a { value, paying no attention to the locale-dependent currency symbol, digit grouping, or decimal point. This will use the .! symbol as the decimal separator.  Multiply a MONEY8 value by a numeric value. Corresponds to the Postgres * operator.  Divide a MONEY3 value by a numeric value. Corresponds to Postgres / where the numerator has type MONEYC and the denominator is a number. If you would like to divide two MONEY. values and have their units cancel out, use  .  Dividing two MONEY4 value results in a number. Corresponds to Postgres / on two MONEY% values. If you would like to divide MONEY by a scalar, use   Postgres + and - operators on money. Postgres + and - operators on money. The Postgres MONEYm type can be summed or averaged in an aggregation. These functions provide the quantified aggregations. See  and  for the unquantified versions. The Postgres MONEYm type can be summed or averaged in an aggregation. These functions provide the quantified aggregations. See  and  for the unquantified versions. The Postgres MONEY_ type can be summed or averaged in an aggregation. To provide an explicit quantification, see  and . The Postgres MONEY_ type can be summed or averaged in an aggregation. To provide an explicit quantification, see  and .[       None&'016;<=>?FNQTV]hHHThe most general kind of DELETE that postgres can performThe most general kind of UPDATE that postgres can performCA description of what to do when a constraint or index is violated.NSpecifies the kind of constraint that must be violated for the action to occur What to do when an INSERT( statement inserts a row into the table tbl that violates a constraint."The most general kind of INSERT that postgres can perform%bCombines the result of a query along with a set of locked tables. Used as a return value for the * function.&TAn explicit lock against some tables. You can create a value of this type using the )` function. You can combine these values monoidally to combine multiple locks for use with the ( function.' Use with ** to lock all tables mentioned in the query(PReturn and lock the given tables. Typically used as an infix operator. See the  Chttp://tathougies.github.io/beam/user-guide/backends/beam-postgres/the user guide for usage examples):Join with a table while locking it explicitly. Provides a & value that can be used with (% to explicitly lock a table during a SELECT statement*xLock some tables during the execution of a query. This is rather complicated, and there are several usage examples in Chttp://tathougies.github.io/beam/user-guide/backends/beam-postgres/the user guideThe Postgres locking clause is rather complex, and beam currently does not check several pre-conditions. It is assumed you kinda know what you're doing.4Things which postgres doesn't like, but beam will do9Using aggregates within a query that has a locking clauseUsing UNION,  INTERSECT, or EXCEPTSee  Nhttps://www.postgresql.org/docs/10/static/sql-select.html#SQL-FOR-UPDATE-SHAREhere for more details.*This function accepts a locking strength (UPDATE, SHARE,  KEY SHARE%, etc), an optional locking option (NOWAIT or  SKIP LOCKEDR), and a query whose rows to lock. The query should return its result wrapped in % , via the ( or ' function.[If you want to use the most common behavior (lock all rows in every table mentioned), the +# function may be what you're after.+Like *Q, but does not require an explicit set of locked tables. This produces an empty  FOR .. OF clause.,A  beam-postgres-specific version of  >, which provides fuller support for the much richer Postgres INSERT% syntax. This allows you to specify  ON CONFLICT/ actions. For even more complete support, see -.-The full Postgres INSERT. syntax, supporting conflict actions and the RETURNING CLAUSE. See  2 for how to specify a conflict action or provide .' to preserve the behavior without any  ON CONFLICTp clause. The last argument takes a newly inserted row and returns the expression to be returned as part of the  RETURNINGD clause. For a backend-agnostic version of this functionality see MonadBeamInsertReturning. Use runInsertReturning to get the results..iBy default, Postgres will throw an error when a conflict is detected. This preserves that functionality./ Tells postgres what to do on an INSERT conflict. The first argument is the type of conflict to provide an action for. For example, to only provide an action for certain fields, use 1^. Or to only provide an action over certain fields where a particular condition is met, use 1>. If you have a particular constraint violation in mind, use 3-. To perform an action on any conflict, use 0. See the  >https://www.postgresql.org/docs/current/static/sql-insert.htmlPostgres documentation.0fPerform the conflict action when any constraint or index conflict occurs. Syntactically, this is the  ON CONFLICT clause, without any conflict target.1Perform the conflict action only when these fields conflict. The first argument gets the current row as a table of expressions. Return the conflict key. For more information, see the  beam-postgres manual.2Like 1g, but only perform the action if the condition given in the second argument is met. See the postgres  >https://www.postgresql.org/docs/current/static/sql-insert.htmlmanual for more information.3APerform the action only if the given named constraint is violated4 The Postgres  DO NOTHING action5 The Postgres  DO UPDATE SET action, without the WHERED clause. The argument takes an updatable row (like the one used in  ) and the conflicting row. Use L on the first argument to get the current value of the row in the database.6 The Postgres  DO UPDATE SET action, with the WHERE clause. This is like 5, but only rows satisfying the given condition are updated. Sometimes this results in more efficient locking. See the Postgres  >https://www.postgresql.org/docs/current/static/sql-insert.htmlmanual for more information.7Sometimes you want to update certain columns in the row. Given a projection from a row to the fields you want, Beam can auto-generate an assignment that assigns the corresponding fields of the conflicting row.8Sometimes you want to update every value in the row. Beam can auto-generate an assignment that assigns the conflicting row to every field in the database row. This may not always be what you want.9 Postgres UPDATE ... RETURNINGp statement support. The last argument takes the newly inserted row and returns the values to be returned. Use runUpdateReturning to get the results.: Postgres DELETE ... RETURNINGp statement support. The last argument takes the newly inserted row and returns the values to be returned. Use runDeleteReturning to get the results.,QRSTUVWX !"#$%&'()*+,-./0123456789:,%&TUVWXQRS+*)'(,-"#$ !./0123456789: !"#$%& None&'016;<=>?FKQTVhs? cPostgres-specific database predicate asserting the existence of an extension in the database. The  properly provides CREATE EXTENSION and DROP EXTENSION$ statements to the migration finder.=2Type class implemented by any Postgresql extension>PReturn the name of this extension. This should be the string that is passed to CREATE EXTENSION. For example, PgCrypto returns  "pgcrypto".?cReturn a value of this extension type. This should fill in all fields in the record. For example, PgCryptoH builds a record where each function wraps the underlying Postgres one.@&Represents an extension in a database.For example, to include the Database.Beam.Postgres.PgCrypto extension in a database, import Database.Beam.Migrate.PgCrypto data MyDatabase entity = MyDatabase { _table1 :: entity (TableEntity Table1) , _cryptoExtension :: entity (PgExtensionEntity PgCrypto) } migratableDbSettings :: CheckedDatabaseSettings Postgres MyDatabase migratableDbSettings = defaultMigratableDbSettings dbSettings :: DatabaseSettings Postgres MyDatabase dbSettings = unCheckDatabase migratableDbSettings -Note that our database now only works in the  backend.uExtensions are implemented as records of functions and values that expose extension functionality. For example, the pgcrypto extension (implemented by PgCrypto*) provides cryptographic functions. Thus, PgCrypto is a record of functions over 3 which wrap the underlying postgres functionality.VYou get access to these functions by retrieving them from the entity in the database.For example, to use the pgcrypto! extension in the database above: let PgCrypto { pgCryptoDigestText = digestText , pgCryptoCrypt = crypt } = getPgExtension (_cryptoExtension dbSettings) in fmap_ (tbl -> (tbl, crypt (_field1 tbl) (_salt tbl))) (all_ (table1 dbSettings)) JTo implement your own extension, create a record type, and implement the = type class.ALGet the extension record from a database entity. See the documentation for @.B representing the Postgres CREATE EXTENSIONU command. Because the extension name is statically known by the extension type and =@ type class, this simply produces the checked extension entity.EIf you need to use the extension in subsequent migration steps, use A and " to get access to the underlying .C representing the Postgres DROP EXTENSION. After this executes, you should expect any further uses of the extension to fail. Unfortunately, without linear types, we cannot check this.4There are no fields to rename when defining entities=?>@ABC=>?None&'016;<=>?FQTVhxD4Data type representing definitions contained in the pgcrypto extension*Each field maps closely to the underlying pgcrypto: function, which are described in further detail in the  <https://www.postgresql.org/docs/current/static/pgcrypto.htmlpgcrypto manual.DEFGHIJKLMNOPQRSTUVWXDEFGHIJKLMNOPQRSTUVWXDEFGHIJKLMNOPQRSTUVWX None&'+0136;<=>?FKQTV]hTZC in which we can run Postgres commands. See the documentation for  on examples of how to use. beam-postgres; also provides functions that let you run queries without F. These functions may be more efficient and offer a conduit API. See Database.Beam.Postgres.Conduit for more information.[+An error that may occur while parsing a row\We attempted to read more columns than postgres returned. First argument is the zero-based index of the column we attempted to read, and the second is the total number of columns]There was an error while parsing the field. The first argument gives the zero-based index of the column that could not have been parsed. This is usually caused by your Haskell schema type being incompatible with the one in the database.^&Errors that may arise while using the Z monad.a for the standard  postgresql:h URI scheme. See the postgres documentation for more details on the formatting. See documentation for 2 for more information on how to use this with beamZ[\]^_`abcZ[\]^_`None&'-016;<=>?FQTVh0d'Top-level migration backend for use by  beam-migrate toolseBeamDeserializers for postgres-specific types: ntuvlkmpqrsfConverts postgres DatabasePredicates to DatabasePredicateds in the Haskell syntax. Allows automatic generation of Haskell schemas from postgres constraints.gTurn a A into the corresponding |. This is a best effort guess, and may fail on more exotic types. Feel free to send PRs to make this function more robust!hTurn a series of  into a line-by-line array of #s suitable for writing to a script.i!Write the migration given by the  to a file.k for tsquery. See  for more informationl for tsvector. See  for more informationm for Postgres TEXT. characterLargeObject" is also mapped to this data typen for Postgres BYTEA. binaryLargeObject" is also mapped to this data typeo) for a Postgres array without any bounds.Note that array support in  beam-migrate is still incomplete.p for JSON. See  for more informationq for JSONB. See  for more informationr for UUID columns. The pgCryptoGenRandomUUID function in the PgCrypto3 extension can be used to generate UUIDs at random.s for MONEY columns.t Postgres SERIAL5 data types. Automatically generates an appropriate DEFAULT clause and sequenceu Postgres SERIAL5 data types. Automatically generates an appropriate DEFAULT clause and sequencev Postgres SERIAL5 data types. Automatically generates an appropriate DEFAULT clause and sequencedefghijklmnopqrstuvdefjghiklmnorspqtuvNone&'016;<=>?FQTV]h yRun a PostgreSQL SELECT statement in any .zRun a PostgreSQL INSERT statement in any '. Returns the number of rows affected.{Run a PostgreSQL INSERT ... RETURNING ... statement in any  and get a  of the newly inserted rows.|Run a PostgreSQL UPDATE statement in any '. Returns the number of rows affected.}Run a PostgreSQL UPDATE ... RETURNING ... statement in any  and get a  of the newly updated rows.~Run a PostgreSQL DELETE statement in any '. Returns the number of rows affected.Run a PostgreSQl DELETE ... RETURNING ... statement in any  and get a  of the deleted rows.9Run any DML statement. Return the number of rows affected+Runs any query that returns a set of values yz{|}~ yz{|}~None&'016;<=>?FQTVh       =>?@ABCZ[\]^_`abcklmnopqrstuv[\]^_`Zapqrsklmnotuv     cb@=>?BCA                    ! " # # $ % & ' ( ) )**+,,-../001223445667899:;<<=>>?@AABCDDEFGHHIJJKKLMNOPQRSTUVWXXYZ[\\]^__`aabccdeefgghiijkklmmnoopqqrsstuuvwwxyyz{{|}}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~              !"#$%&'()*+,-./0 1 2 3 4 5 6 7 8 9 :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[YZ\YZ]YZ^__`abcddefghiijkklmnoYpqrstuvwxyz{y|}~Y~Y Y  YY Y         Y 1             su~,beam-postgres-0.3.2.0-36iAb593A4W69abKidpZQxDatabase.Beam.PostgresDatabase.Beam.Postgres.SyntaxDatabase.Beam.Postgres.FullDatabase.Beam.Postgres.PgCryptoDatabase.Beam.Postgres.MigrateDatabase.Beam.Postgres.ConduitDatabase.Beam.Postgres.Types!Database.Beam.Postgres.PgSpecificDatabase.Beam.Queryinsert!Database.Beam.Postgres.Extensions!Database.Beam.Postgres.Connection0postgresql-simple-0.5.3.0-ASWUfZB2ObQCXiDxPHiQmk$Database.PostgreSQL.Simple.FromField errMessageerrHaskellType errSQLFielderrSQLTableOid errSQLTypeConversionFailedUnexpectedNull Incompatible ResultError#Database.PostgreSQL.Simple.InternalcloseconnectPostgreSQLconnectdefaultConnectInfo Connection sqlErrorHintsqlErrorDetail sqlErrorMsg sqlExecStatussqlStateSqlErrorconnectDatabaseconnectPassword connectUser connectPort connectHost ConnectInfoPgWindowFrameBoundSyntaxfromPgWindowFrameBoundPgWindowFrameBoundsSyntaxfromPgWindowFrameBoundsPgWindowFrameSyntaxfromPgWindowFramePgAlterColumnActionSyntaxfromPgAlterColumnActionPgAlterTableActionSyntaxfromPgAlterTableActionPgAlterTableSyntaxfromPgAlterTablePgReferentialActionSyntaxfromPgReferentialActionpgReferentialActionSerializedPgMatchTypeSyntaxfromPgMatchTypepgMatchTypeSerializedPgTableConstraintSyntaxfromPgTableConstraintPgColumnConstraintSyntaxfromPgColumnConstraintpgColumnConstraintSerialized"PgColumnConstraintDefinitionSyntax fromPgColumnConstraintDefinition&pgColumnConstraintDefinitionSerializedPgDataTypeSyntaxpgDataTypeDescrfromPgDataTypepgDataTypeSerializedPgColumnSchemaSyntaxfromPgColumnSchemaPgTableOptionsSyntaxPgCreateTableSyntaxfromPgCreateTablePgDataTypeDescrPgDataTypeDescrOidPgDataTypeDescrDomainPgSelectLockingOptionsPgSelectLockingOptionsNoWait PgSelectLockingOptionsSkipLockedPgSelectLockingStrengthPgSelectLockingStrengthUpdate"PgSelectLockingStrengthNoKeyUpdatePgSelectLockingStrengthSharePgSelectLockingStrengthKeySharePgSelectLockingClauseSyntaxpgSelectLockingClauseStrengthpgSelectLockingTablespgSelectLockingClauseOptionsPgOrderingSyntaxpgOrderingSyntaxpgOrderingNullOrderingPgConflictActionSyntaxfromPgConflictActionPgInsertOnConflictTargetSyntaxfromPgInsertOnConflictTargetPgInsertOnConflictSyntaxfromPgInsertOnConflictPgInsertValuesSyntaxfromPgInsertValuesPgFieldNameSyntaxfromPgFieldNamePgTableSourceSyntaxfromPgTableSource PgValueSyntax fromPgValuePgGroupingSyntaxfromPgGroupingPgProjectionSyntaxfromPgProjectionPgExtractFieldSyntaxfromPgExtractFieldPgComparisonQuantifierSyntaxfromPgComparisonQuantifier PgFromSyntax fromPgFromPgSelectSetQuantifierSyntaxfromPgSelectSetQuantifier PgAggregationSetQuantifierSyntaxfromPgAggregationSetQuantifierPgExpressionSyntaxfromPgExpressionPgUpdateSyntax fromPgUpdatePgDeleteSyntax fromPgDeletePgInsertSyntax fromPgInsertPgSelectSyntax fromPgSelectPgCommandSyntax pgCommandType fromPgCommand PgCommandTypePgCommandTypeQueryPgCommandTypeDdlPgCommandTypeDataUpdate PgCommandTypeDataUpdateReturningPgSyntax buildPgSyntax PgSyntaxM PgSyntaxFEmitByteString EmitBuilder EscapeString EscapeByteaEscapeIdentifierPostgresInaccessibleemit emitBuilder escapeString escapeByteaescapeIdentifiernextSyntaxStepfromPgSelectLockingClausepgDataTypeJSON pgByteaTypepgSmallSerialType pgSerialTypepgBigSerialTypepgUnboundedArrayTypepgTsQueryTypeInfo pgTsQueryTypepgTsVectorTypeInfopgTsVectorType pgTextType pgJsonType pgJsonbType pgUuidType pgMoneyTypepgSelectSetQuantifierDistinctOninsertDefaultspgSimpleMatchSyntaxpgQuotedIdentifierpgParenspgCompOppgBinOp pgPostFixpgUnOppgSepBypgDebugRenderSyntax pgBuildAction pgSelectStmtpgCreateExtensionSyntaxpgDropExtensionSyntax pgTestSyntaxpgRenderSyntaxScript $fEqPgSyntaxF$fEq1PgSyntaxF$fShowPgSyntax $fEqPgSyntax$fMonoidPgSyntax$fSemigroupPgSyntax$fSql92DisplaySyntaxPgSyntax$fHashablePgSyntax$fHasQBuilderPgSelectSyntax$fIsSql92SyntaxPgCommandSyntax7$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxTagged-$fHasSqlEqualityCheckPgExpressionSyntaxTagged3$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxCI)$fHasSqlEqualityCheckPgExpressionSyntaxCI4$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxCI0*$fHasSqlEqualityCheckPgExpressionSyntaxCI07$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxVector-$fHasSqlEqualityCheckPgExpressionSyntaxVector;$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxByteString1$fHasSqlEqualityCheckPgExpressionSyntaxByteString<$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxByteString02$fHasSqlEqualityCheckPgExpressionSyntaxByteString0;$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxScientific1$fHasSqlEqualityCheckPgExpressionSyntaxScientific:$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxUnbounded0$fHasSqlEqualityCheckPgExpressionSyntaxUnbounded;$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxUnbounded01$fHasSqlEqualityCheckPgExpressionSyntaxUnbounded0;$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxUnbounded11$fHasSqlEqualityCheckPgExpressionSyntaxUnbounded1;$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxUnbounded21$fHasSqlEqualityCheckPgExpressionSyntaxUnbounded2;$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxHStoreList1$fHasSqlEqualityCheckPgExpressionSyntaxHStoreList:$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxHStoreMap0$fHasSqlEqualityCheckPgExpressionSyntaxHStoreMap3$fHasSqlQuantifiedEqualityCheckPgExpressionSyntax[])$fHasSqlEqualityCheckPgExpressionSyntax[]5$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxUUID+$fHasSqlEqualityCheckPgExpressionSyntaxUUID4$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxDay*$fHasSqlEqualityCheckPgExpressionSyntaxDay@$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxNominalDiffTime6$fHasSqlEqualityCheckPgExpressionSyntaxNominalDiffTime:$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxTimeOfDay0$fHasSqlEqualityCheckPgExpressionSyntaxTimeOfDay:$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxZonedTime0$fHasSqlEqualityCheckPgExpressionSyntaxZonedTime:$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxLocalTime0$fHasSqlEqualityCheckPgExpressionSyntaxLocalTime4$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxOid*$fHasSqlEqualityCheckPgExpressionSyntaxOid6$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxValue,$fHasSqlEqualityCheckPgExpressionSyntaxValue8$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxUTCTime.$fHasSqlEqualityCheckPgExpressionSyntaxUTCTime5$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxText+$fHasSqlEqualityCheckPgExpressionSyntaxText6$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxText0,$fHasSqlEqualityCheckPgExpressionSyntaxText07$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxWord64-$fHasSqlEqualityCheckPgExpressionSyntaxWord647$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxWord32-$fHasSqlEqualityCheckPgExpressionSyntaxWord327$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxWord16-$fHasSqlEqualityCheckPgExpressionSyntaxWord166$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxWord8,$fHasSqlEqualityCheckPgExpressionSyntaxWord85$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxWord+$fHasSqlEqualityCheckPgExpressionSyntaxWord8$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxInteger.$fHasSqlEqualityCheckPgExpressionSyntaxInteger6$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxInt64,$fHasSqlEqualityCheckPgExpressionSyntaxInt646$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxInt32,$fHasSqlEqualityCheckPgExpressionSyntaxInt326$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxInt16,$fHasSqlEqualityCheckPgExpressionSyntaxInt165$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxInt8+$fHasSqlEqualityCheckPgExpressionSyntaxInt84$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxInt*$fHasSqlEqualityCheckPgExpressionSyntaxInt6$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxFloat,$fHasSqlEqualityCheckPgExpressionSyntaxFloat7$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxDouble-$fHasSqlEqualityCheckPgExpressionSyntaxDouble5$fHasSqlQuantifiedEqualityCheckPgExpressionSyntaxBool+$fHasSqlEqualityCheckPgExpressionSyntaxBool6$fIsSql99AggregationExpressionSyntaxPgExpressionSyntax5$fIsSql2003NthValueExpressionSyntaxPgExpressionSyntaxC$fIsSql2003FirstValueAndLastValueExpressionSyntaxPgExpressionSyntax7$fIsSql2003LeadAndLagExpressionSyntaxPgExpressionSyntax2$fIsSql2003NtileExpressionSyntaxPgExpressionSyntaxP$fIsSql2003EnhancedNumericFunctionsAggregationExpressionSyntaxPgExpressionSyntaxE$fIsSql2003ExpressionElementaryOLAPOperationsSyntaxPgExpressionSyntaxC$fIsSql2003ExpressionAdvancedOLAPOperationsSyntaxPgExpressionSyntaxE$fIsSql2003EnhancedNumericFunctionsExpressionSyntaxPgExpressionSyntax1$fIsSql99ConcatExpressionSyntaxPgExpressionSyntax+$fIsSql99ExpressionSyntaxPgExpressionSyntax?$fIsSqlExpressionSyntaxStringTypeTYPETYPEPgExpressionSyntaxText=$fIsSqlExpressionSyntaxStringTypeTYPETYPEPgExpressionSyntax[]$fIsStringCustomSqlSyntax%$fIsCustomSqlSyntaxPgExpressionSyntax#$fIsSql92DeleteSyntaxPgDeleteSyntaxG$fIsSql92AggregationSetQuantifierSyntaxPgAggregationSetQuantifierSyntax6$fIsSql92AggregationExpressionSyntaxPgExpressionSyntaxB$fIsSql92AggregationSetQuantifierSyntaxPgSelectSetQuantifierSyntax($fIsSql92FromOuterJoinSyntaxPgFromSyntax5$fIsSql92QuantifierSyntaxPgComparisonQuantifierSyntax+$fIsSql92ProjectionSyntaxPgProjectionSyntax'$fIsSql92GroupingSyntaxPgGroupingSyntax-$fIsSql92SelectTableSyntaxPgSelectTableSyntax*$fHasSqlValueSyntaxPgValueSyntaxByteString+$fHasSqlValueSyntaxPgValueSyntaxByteString0%$fHasSqlValueSyntaxPgValueSyntaxMaybe'$fHasSqlValueSyntaxPgValueSyntaxSqlNull"$fHasSqlValueSyntaxPgValueSyntaxCI#$fHasSqlValueSyntaxPgValueSyntaxCI0*$fHasSqlValueSyntaxPgValueSyntaxScientific)$fHasSqlValueSyntaxPgValueSyntaxUnbounded*$fHasSqlValueSyntaxPgValueSyntaxUnbounded0*$fHasSqlValueSyntaxPgValueSyntaxUnbounded1*$fHasSqlValueSyntaxPgValueSyntaxUnbounded2-$fHasSqlValueSyntaxPgValueSyntaxHStoreBuilder*$fHasSqlValueSyntaxPgValueSyntaxHStoreList)$fHasSqlValueSyntaxPgValueSyntaxHStoreMap"$fHasSqlValueSyntaxPgValueSyntax[]$$fHasSqlValueSyntaxPgValueSyntaxUUID#$fHasSqlValueSyntaxPgValueSyntaxDay/$fHasSqlValueSyntaxPgValueSyntaxNominalDiffTime)$fHasSqlValueSyntaxPgValueSyntaxTimeOfDay)$fHasSqlValueSyntaxPgValueSyntaxZonedTime)$fHasSqlValueSyntaxPgValueSyntaxLocalTime#$fHasSqlValueSyntaxPgValueSyntaxOid%$fHasSqlValueSyntaxPgValueSyntaxValue'$fHasSqlValueSyntaxPgValueSyntaxUTCTime$$fHasSqlValueSyntaxPgValueSyntaxText%$fHasSqlValueSyntaxPgValueSyntaxText0&$fHasSqlValueSyntaxPgValueSyntaxWord64&$fHasSqlValueSyntaxPgValueSyntaxWord32&$fHasSqlValueSyntaxPgValueSyntaxWord16%$fHasSqlValueSyntaxPgValueSyntaxWord8$$fHasSqlValueSyntaxPgValueSyntaxWord'$fHasSqlValueSyntaxPgValueSyntaxInteger%$fHasSqlValueSyntaxPgValueSyntaxInt64%$fHasSqlValueSyntaxPgValueSyntaxInt32%$fHasSqlValueSyntaxPgValueSyntaxInt16$$fHasSqlValueSyntaxPgValueSyntaxInt8#$fHasSqlValueSyntaxPgValueSyntaxInt%$fHasSqlValueSyntaxPgValueSyntaxFloat&$fHasSqlValueSyntaxPgValueSyntaxDouble$$fHasSqlValueSyntaxPgValueSyntaxBool-$fIsSql92TableSourceSyntaxPgTableSourceSyntax$fIsSql92FromSyntaxPgFromSyntax)$fIsSql92FieldNameSyntaxPgFieldNameSyntax#$fIsSql92UpdateSyntaxPgUpdateSyntax/$fIsSql92InsertValuesSyntaxPgInsertValuesSyntax#$fIsSql92InsertSyntaxPgInsertSyntaxA$fIsSql2003OrderingElementaryOLAPOperationsSyntaxPgOrderingSyntax'$fIsSql92OrderingSyntaxPgOrderingSyntax#$fIsSql92SelectSyntaxPgSelectSyntax$fHashablePgDataTypeDescr:$fHasDefaultSqlDataTypeConstraintsPgColumnSchemaSyntaxUUID?$fHasDefaultSqlDataTypeConstraintsPgColumnSchemaSyntaxSqlSerial?$fHasDefaultSqlDataTypeConstraintsPgColumnSchemaSyntaxLocalTime@$fHasDefaultSqlDataTypeConstraintsPgColumnSchemaSyntaxByteString$fHashablePgColumnSchemaSyntax($fSql92DisplaySyntaxPgColumnSchemaSyntax+$fHasDefaultSqlDataTypePgDataTypeSyntaxUUID0$fHasDefaultSqlDataTypePgDataTypeSyntaxSqlSerial0$fHasDefaultSqlDataTypePgDataTypeSyntaxLocalTime1$fHasDefaultSqlDataTypePgDataTypeSyntaxByteString+$fIsSql92ExpressionSyntaxPgExpressionSyntax1$fSql92SerializableDataTypeSyntaxPgDataTypeSyntax/$fIsSql2008BigIntDataTypeSyntaxPgDataTypeSyntax'$fIsSql99DataTypeSyntaxPgDataTypeSyntax'$fIsSql92DataTypeSyntaxPgDataTypeSyntax$fEqPgDataTypeSyntax$fHashablePgDataTypeSyntax$$fSql92DisplaySyntaxPgDataTypeSyntaxO$fSql92SerializableConstraintDefinitionSyntaxPgColumnConstraintDefinitionSyntax,$fHashablePgColumnConstraintDefinitionSyntax/$fIsSql92ColumnSchemaSyntaxPgColumnSchemaSyntax&$fEqPgColumnConstraintDefinitionSyntax6$fSql92DisplaySyntaxPgColumnConstraintDefinitionSyntaxK$fIsSql92ColumnConstraintDefinitionSyntaxPgColumnConstraintDefinitionSyntax5$fIsSql92TableConstraintSyntaxPgTableConstraintSyntax-$fIsSql92CreateTableSyntaxPgCreateTableSyntax)$fIsSql92MatchTypeSyntaxPgMatchTypeSyntax7$fIsSql92ColumnConstraintSyntaxPgColumnConstraintSyntax9$fIsSql92ReferentialActionSyntaxPgReferentialActionSyntax)$fIsSql92DropTableSyntaxPgDropTableSyntax($fIsSql92DdlCommandSyntaxPgCommandSyntax+$fIsSql92AlterTableSyntaxPgAlterTableSyntax9$fIsSql92AlterColumnActionSyntaxPgAlterColumnActionSyntax7$fIsSql92AlterTableActionSyntaxPgAlterTableActionSyntax-$fIsSql2003ExpressionSyntaxPgExpressionSyntax/$fIsSql2003WindowFrameSyntaxPgWindowFrameSyntax9$fIsSql2003WindowFrameBoundSyntaxPgWindowFrameBoundSyntax;$fIsSql2003WindowFrameBoundsSyntaxPgWindowFrameBoundsSyntax$fIsStringPgSyntaxPrim$fMonoidCustomSqlSyntax$fSemigroupCustomSqlSyntax$fShowPgCommandType$fEqPgExpressionSyntax$fShowPgNullOrdering$fEqPgNullOrdering$fGenericPgNullOrdering$fShowPgSelectLockingStrength$fEqPgSelectLockingStrength $fGenericPgSelectLockingStrength$fShowPgSelectLockingOptions$fEqPgSelectLockingOptions$fGenericPgSelectLockingOptions$fShowPgDataTypeDescr$fEqPgDataTypeDescr$fGenericPgDataTypeDescr$fShowPgColumnSchemaSyntax$fEqPgColumnSchemaSyntax$fShowPgDataTypeSyntax($fShowPgColumnConstraintDefinitionSyntax$fShowPgEscapeType$fEqPgEscapeType$fOrdPgEscapeType$fEnumPgEscapeType$fBoundedPgEscapeType$fShowPgSyntaxPrim$fFunctorPgSyntaxFPostgresPgSetOfPgMoney fromPgMoneyIsPgJSON pgJsonEachpgJsonEachText pgJsonKeyspgJsonArrayElementspgJsonArrayElementsText pgJsonTypeOfpgJsonStripNulls pgJsonAggpgJsonObjectAgg PgJSONElement pgJsonElement PgJSONKey pgJsonKey PgJSONEach pgJsonEachKeypgJsonEachValuePgJSONBPgJSONPgIsArrayContextPgArrayValueContextTsQueryTsVectorConfigTsVectornow_ilike_english toTsVector@@!. arrayDims_ arrayUpper_ arrayLower_arrayUpperUnsafe_arrayLowerUnsafe_ arrayLength_arrayLengthUnsafe_ isSupersetOf_ isSubsetOf_++.array_arrayOf_@><@->#->$->>#->>$#>#>>??|?& withoutKey withoutIdx withoutKeyspgJsonArrayLength pgJsonbUpdate pgJsonbSet pgJsonbPretty pgArrayAggpgArrayAggOverpgBoolOr pgBoolAnd pgStringAggpgStringAggOverpgNubBy_pgMoney pgScaleMoney_pgDivideMoney_pgDivideMoneys_ pgAddMoney_pgSubtractMoney_pgSumMoneyOver_pgAvgMoneyOver_ pgSumMoney_ pgAvgMoney_pgUnnest pgUnnestArraypgUnnestArrayWithOrdinalityPgDeleteReturningPgUpdateReturningPgUpdateReturningEmptyPgConflictActionPgInsertOnConflictTargetPgInsertOnConflictPgInsertReturningPgInsertReturningEmpty PgWithLockingPgLockedTableslockAll_ withLocks_locked_ lockingFor_lockingAllTablesFor_insertReturningonConflictDefault onConflict anyConflictconflictingFieldsconflictingFieldsWhereconflictingConstraintonConflictDoNothingonConflictUpdateSetonConflictUpdateSetWhereonConflictUpdateInsteadonConflictSetAllupdateReturningdeleteReturning$fMonoidPgLockedTables.$fProjectibleWithPredicatecsyntaxPgWithLocking IsPgExtensionpgExtensionNamepgExtensionBuildPgExtensionEntitygetPgExtensionpgCreateExtensionpgDropExtensionPgCryptopgCryptoDigestTextpgCryptoDigestBytespgCryptoHmacTextpgCryptoHmacBytes pgCryptoCryptpgCryptoGenSaltpgCryptoPgpSymEncryptpgCryptoPgpSymEncryptByteapgCryptoPgpSymDecryptpgCryptoPgpSymDecryptByteapgCryptoPgpPubEncryptpgCryptoPgpPubEncryptByteapgCryptoPgpPubDecryptpgCryptoPgpPubDecryptByteapgCryptoPgpKeyId pgCryptoArmorpgCryptoDearmorpgCryptoGenRandomBytespgCryptoGenRandomUUID$fIsPgExtensionPgCryptoPgPgRowReadErrorPgRowReadNoMoreColumnsPgRowCouldNotParseFieldPgErrorPgRowParseErrorPgInternalErrorpostgresUriSyntaxrunBeamPostgresDebugrunBeamPostgresmigrationBackendpostgresDataTypeDeserializerspgPredConverter pgTypeToHs migrateScriptwriteMigrationScriptgetDbConstraintstsquerytsvectortextbyteaunboundedArrayjsonjsonbuuidmoney smallserialserial bigserial4$fIsBeamSerialColumnSchemaSyntaxPgColumnSchemaSyntax8$fFieldReturnTypeFalseFalsePgColumnSchemaSyntaxresTy(->) runSelect runInsertrunInsertReturning runUpdaterunUpdateReturning runDeleterunDeleteReturningexecuteStatementrunQueryReturning(beam-core-0.7.2.0-1JV9Amnoajw8lZg4GUpMJ1Database.Beam.Backend.SQL.SQL92IsSql92UpdateSyntaxIsSql92DeleteSyntaxIsSql92InsertSyntaxIsSql92SelectSyntax PgSyntaxPrim PgEscapeTypePgEscapeString PgEscapeByteaPgEscapeIdentifierPgDropTableSyntaxfromPgDropTablePgNullOrderingPgNullOrderingNullsFirstPgNullOrderingNullsLastPgInsertOnConflictUpdateSyntaxfromPgInsertOnConflictUpdatePgSelectTableSyntaxfromPgSelectTable&D:R:CustomSqlSyntaxPgExpressionSyntax0PgCustomExpressionSyntaxfromPgCustomExpressionDatabase.Beam.Backend.SQL MonadBeamfromPgIntegralbytestring-0.10.8.2Data.ByteString.Internal ByteString#text-1.2.2.2-EakMpasry3jA6OIwSZhq9MData.Text.InternalText$aeson-1.2.4.0-1zctWaeLSQREbMpEicx0A8Data.Aeson.Types.FromJSONFromJSONData.Aeson.Types.ToJSONToJSONbase Data.StringIsStringDatabase.Beam.Query.Operatorlike_ghc-prim GHC.TypesNat Data.FoldableFoldablePgUnnestArrayWithOrdinalityTblPgUnnestArrayTbl mkArraySyntaxupdateDatabase.Beam.Query.Combinatorscurrent_PgHasExtensionpgExtensionActionProviderDatabase.Beam.Query.InternalQGenExpr+beam-migrate-0.3.1.0-2F842M4Grr1HZV5flQvHHQDatabase.Beam.Migrate.Types Migration+Database.Beam.Migrate.Types.CheckedEntitiesunCheckDatabase.Beam.Schema.TablesDatabaseEntity$fRenamableWithRuleFieldRenamerDatabaseEntityDescriptorPgDatabaseExtensionCheckedDatabaseEntityDescriptorCheckedPgExtensionpgCreateExtensionProviderpgDropExtensionProvider+$fIsDatabaseEntityPostgresPgExtensionEntity6D:R:DatabaseEntityDescriptorPostgresPgExtensionEntity02$fIsCheckedDatabaseEntityPostgresPgExtensionEntity=D:R:CheckedDatabaseEntityDescriptorPostgresPgExtensionEntity0Database.Beam.Backend.URIBeamURIOpenersrunPgPgFPgLiftIOPgLiftWithHandle PgFetchNextPgRunReturningpgRenderSyntax getFieldsrunPgRowReader withPgDebugPgStream PgStreamDonePgStreamContinueDatabase.Beam.Haskell.Syntax HsDataTypeMigrationStepsData.ByteString.Lazy.InternalDatabase.Beam.Migrate.SQL.TypesDataType PgHasDefaultControl.Monad.IO.ClassMonadIO&conduit-1.3.0.2-4oDvpKfEIMIFxlo6ML5S5QData.Conduit.Internal.ConduitSource