><     None!":OT  Perform a SELECTJ or other SQL query that is expected to return results. Uses PostgreSQL's  Ihttps://www.postgresql.org/docs/current/static/libpq-single-row-mode.htmlsingle row mode7 to stream results directly from the socket to Haskell.mIt is an error to perform another query using the same connection from within a stream. This applies to both streaming-postgresql-simple and postgresql-simple[ itself. If you do need to perform subsequent queries from within a stream, you should use 8, which uses cursors and allows interleaving of queries.MTo demonstrate the problems of interleaving queries, if we run the following: let doQuery c = queryWith_ (Pg.fromRow :: RowParser (Pg.Only Int)) c "VALUES (1), (2)" in S.print (S.mapM_ (_ -> doQuery c) (doQuery c))  We will encounter the exception: kException: QueryError {qeMessage = "another command is already in progressn", qeQuery = "VALUES (1), (2)"} Exceptions that may be thrown:4: the query string could not be formatted correctly.=: the result contains no columns (i.e. you should be using execute instead of ).: result conversion failed.s: the postgresql backend returned an error, e.g. a syntax or type error, or an incorrect table or column name. A version of * that does not perform query substitution. A version of  taking parser as argument. A version of  taking parser as argument. Perform a SELECTl or other SQL query that is expected to return results. Results are streamed incrementally from the server.When dealing with small results that don't require further access to the database it may be simpler (and perhaps faster) to use  instead.This is implemented using a database cursor. As such, this requires a transaction. This function will detect whether or not there is a transaction in progress, and will create a  ReadCommitted ReadOnlyi transaction if needed. The cursor is given a unique temporary name, so the consumer may itself call .<Due to the dependency on transactions, you must ensure that  or  aren't called on the connection used to form a stream. Doing so causes the stream cursor to be released, making it impossible to stream more results. If you do perform a commit or rollback, D will raise an exception indicating that a transaction was aborted.vIf you performing transaction writes in a stream, consider instead using save points, which will nest correctly with .Exceptions that may be thrown:4: the query string could not be formatted correctly.>: the result contains no columns (i.e. you should be using execute instead of ).: result conversion failed.t: the postgresql backend returned an error, e.g. a syntax or type error, or an incorrect table or column name. A version of  taking a parser as an argument. A version of  taking a parser as an argument.  A version of * that does not perform query substitution.  A version of   taking a parser as an argument.  A version of   taking a parser as an argument. Issue a COPY FROM STDIN! query and stream the results in.iNote that the data in the stream not need to represent a single row, or even an integral number of rows.[The stream indicates whether or not the copy was succesful. If the stream terminates with 8, the copy is succesful. If the stream terminates with  error#, the error message will be logged.DIf copying was successful, the number of rows processed is returned.Issue a COPY TO STDOUT query and stream the results. When the stream is drained it returns the total amount of rows returned. Each element in the stream is either exactly one row of the result, or header or footer data depending on format.  !"      !" #      !"#$%&'()*+,-./0:streaming-postgresql-simple-0.2.0.0-HM1IxxCSDjj3MR3ag8oWcm$Database.PostgreSQL.Simple.StreamingDatabase.PostgreSQL.Simple FormatErrorSqlError&resourcet-1.1.9-Jmh3Qidi4wT9IT4ZU9Ldi6Control.Monad.Trans.Resource runResourceTqueryquery_ queryWith queryWith_streamstreamWithOptions streamWithstreamWithOptionsAndParserstream_streamWithOptions_ streamWith_streamWithOptionsAndParser_copyIncopyOut0postgresql-simple-0.5.2.1-ESfIYznj02J2QVwg63SPMQ#Database.PostgreSQL.Simple.Internal QueryError$Database.PostgreSQL.Simple.FromField ResultError&Database.PostgreSQL.Simple.TransactioncommitrollbackbaseGHC.BaseNothingJustRestoreUnmaskedMaskeddoQueryresults streamResultdoFold getRowWithforM'ellipsis toByteStringliftMaskbracket onTermination