autodoc.git / modref.xml

version» Context lines:

autodoc.git/modref.xml:1:   <?xml version='1.0' encoding='utf-8'?> - <manual time-stamp='2017-11-21' version='Pike v8.1.11'> + <manual time-stamp='2017-11-22' version='Pike v8.1.11'>    <dir name='./ignored'>    <file name='./ignored/ignored'>    <chapter number='1' title='ignored'>    <autodoc>   <namespace name=''>   <doc><text><p>Symbols implicitly inherited from the virtual base class.</p>   <p> These symbols exist mainly to simplify implementation of    the corresponding lfuns.</p>   </text><group><seealso/><text><p><ref resolved='lfun::'>lfun::</ref></p>   </text></group></doc>
autodoc.git/modref.xml:1107:   </docgroup>   </class>   <class name='DES3'>   <docgroup homogen-name='CBC' homogen-type='inherit'>   <inherit name='CBC'><classname resolved='8.0::Crypto.CBC'>Crypto.CBC</classname></inherit>   </docgroup>   </class>   <class name='DHKeyExchange'>   <doc><text><p>Implements Diffie-Hellman key-exchange.</p>   <p> The following key exchange methods are implemented here: -  <ref resolved='7.8::SSL.Constants.KeyExchangeType.KE_dhe_dss'>KE_dhe_dss</ref>, <ref resolved='7.8::SSL.Constants.KeyExchangeType.KE_dhe_rsa'>KE_dhe_rsa</ref> and <ref resolved='7.8::SSL.Constants.KeyExchangeType.KE_dh_anon'>KE_dh_anon</ref>.</p> +  <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_dhe_dss'>KE_dhe_dss</ref>, <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_dhe_rsa'>KE_dhe_rsa</ref> and <ref resolved='predef::SSL.Constants.KeyExchangeType.KE_dh_anon'>KE_dh_anon</ref>.</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='p'><type><object resolved='7.8::SSL.Cipher.DHParameters'>DHParameters</object></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   <class name='DHParameters'>   <doc><text><p>Diffie-Hellman parameters.</p>
autodoc.git/modref.xml:1891:   <variable name='rsa'><type><object resolved='7.8::Crypto.RSA'>Crypto.RSA</object></type></variable>   </docgroup>   <docgroup homogen-name='set_cipher_suite' homogen-type='method'><doc><text><p>Sets the proper authentication method and cipher specification    for the given cipher <ref resolved='7.8::SSL.session.set_cipher_suite.suite'>suite</ref> and <ref>verison</ref>.</p>   </text></doc>   <method name='set_cipher_suite'>   <arguments><argument name='suite'><type><int/></type></argument><argument name='version'><type><or><object resolved='7.8::SSL.Constants.ProtocolVersion'>ProtocolVersion</object><int/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> - <docgroup homogen-name='set_compression_method' homogen-type='method'><doc><text><p>Sets the compression method. Currently only <ref resolved='predef::SSL.Constants.CompressionType.COMPRESSION_null'>COMPRESSION_null</ref> is + <docgroup homogen-name='set_compression_method' homogen-type='method'><doc><text><p>Sets the compression method. Currently only <ref resolved='7.8::SSL.Constants.CompressionType.COMPRESSION_null'>COMPRESSION_null</ref> is    supported.</p>   </text></doc>   <method name='set_compression_method'>   <arguments><argument name='compr'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   <class name='sslfile'>   <doc><text><p>Interface similar to <ref resolved='7.8::Stdio.File'>Stdio.File</ref>.</p>
autodoc.git/modref.xml:117327:   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <class name='Connection'>   <doc><text><p>Base class for a connection to an SQL database.</p>   </text></doc>   <docgroup homogen-name='Connection' homogen-type='inherit'>   <inherit name='Connection'><classname resolved='predef::__builtin.Sql.Connection'>__builtin.Sql.Connection</classname></inherit>   </docgroup>   </class> + <class name='FutureResult'> + <doc><text><p>Base class for the result from <ref resolved='predef::__builtin.Sql.Connection.promise_query'>Connection()-&gt;promise_query()</ref> et al.</p> + </text></doc> + <docgroup homogen-name='FutureResult' homogen-type='inherit'> + <inherit name='FutureResult'><classname>__builtin.Sql.FutureResult</classname></inherit> + </docgroup> + </class>   <class name='Null'>   <doc><text><p>Class used to implement the SQL NULL value.</p>   </text><group><deprecated><name><ref resolved='predef::Val.Null'>Val.Null</ref></name></deprecated></group><group><seealso/><text><p><ref resolved='predef::Val.Null'>Val.Null</ref>, <ref resolved='predef::Val.null'>Val.null</ref></p>   </text></group></doc>   </class>   <class name='Result'>   <doc><text><p>Base class for the result from <ref resolved='predef::__builtin.Sql.Connection.big_query'>Connection()-&gt;big_query()</ref> et al.</p>   </text></doc>   <docgroup homogen-name='Result' homogen-type='inherit'>   <inherit name='Result'><classname resolved='predef::__builtin.Sql.Result'>__builtin.Sql.Result</classname></inherit>
autodoc.git/modref.xml:117860:   </text></group><group><item/><text><p>Automatic precompilation of complex queries (session cache).</p>   </text></group><group><item/><text><p>Multiple simultaneous queries on the same database connection.</p>   </text></group><group><item/><text><p>Cancelling of long running queries by force or by timeout.</p>   </text></group><group><item/><text><p>Event driven NOTIFY.</p>   </text></group><group><item/><text><p>SSL encrypted connections (optional or forced).</p>   </text></group></ul><p>Check the PostgreSQL documentation for further details.</p>   </text><group><note/><text><p>Multiple simultaneous queries on the same database connection are a    feature that none of the other database drivers for Pike support.    So, although it's efficient, its use will make switching database drivers    difficult.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Sql.Sql'>Sql.Sql</ref>, <ref resolved='predef::Sql.postgres'>Sql.postgres</ref>, + </text></group><group><seealso/><text><p><ref resolved='predef::Sql.Connection'>Sql.Connection</ref>, <ref resolved='predef::Sql.postgres'>Sql.postgres</ref>,    <url>https://www.postgresql.org/docs/current/static/</url></p>   </text></group></doc>   <docgroup homogen-name='big_query' homogen-type='method'><doc><text><p>This is the only provided direct interface which allows you to query the    database. A simpler synchronous interface can be used through <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref>.</p>   <p> Bindings are supported natively straight across the network.    Special bindings supported are:</p>   <mapping><group><member><type><int/></type><index>":_cache"</index></member><text><p>Forces caching on or off for the query at hand.</p>   </text></group><group><member><type><int/></type><index>":_text"</index></member><text><p>Forces text mode in communication with the database for queries on or off    for the query at hand. Potentially more efficient than the default    binary method for simple queries with small or no result sets.
autodoc.git/modref.xml:117885:    be parsed before the previous statements have been executed    (e.g. references to temporary tables created in the preceding    statement),    but it can speed up parsing due to increased parallelism.</p>   </text></group></mapping>   </text><group><note/><text><p>The bindings-parameter passed to this function must remain unaltered    until the parameters have been sent to the database. The driver    currently does not expose this moment, but to avoid a race condition    it is sufficient to keep them unaltered until the first resultrow    has been fetched (or EOF is reached, in case of no resultrows).</p> - </text></group><group><returns/><text><p>A <ref resolved='predef::Sql.pgsql_util.sql_result'>Sql.pgsql_util.sql_result</ref> object (which conforms to the -  <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> standard interface for accessing data). It is + </text></group><group><returns/><text><p>A <ref resolved='predef::Sql.pgsql_util.Result'>Sql.pgsql_util.Result</ref> object (which conforms to the +  <ref resolved='predef::Sql.Result'>Sql.Result</ref> standard interface for accessing data). It is    recommended to use <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref> for simpler queries (because    it is easier to handle, but stores all the result in memory), and    <ref resolved='predef::Sql.pgsql.big_query'>big_query()</ref> for queries you expect to return huge amounts of    data (it's harder to handle, but fetches results on demand).</p>   </text></group><group><note/><text><p>This function <b>can</b> raise exceptions.</p>   </text></group><group><note/><text><p>This function supports multiple simultaneous queries (portals) on a single    database connection. This is a feature not commonly supported by other    database backends.</p>   </text></group><group><note/><text><p>This function, by default, does not support multiple queries in one    querystring.    I.e. it allows for but does not require a trailing semicolon, but it    simply ignores any commands after the first unquoted semicolon. This can    be viewed as a limited protection against SQL-injection attacks.    To make it support multiple queries in one querystring, use the    <ref resolved='predef::Sql.pgsql.big_query'>:_text</ref> option (not recommended).</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Sql.pgsql.big_typed_query'>big_typed_query()</ref>, <ref resolved='predef::Sql.Sql'>Sql.Sql</ref>, <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref>, -  <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref>, <ref resolved='predef::Sql.pgsql_util.sql_result'>Sql.pgsql_util.sql_result</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::Sql.pgsql.big_typed_query'>big_typed_query()</ref>, <ref resolved='predef::Sql.Connection'>Sql.Connection</ref>, <ref resolved='predef::Sql.Result'>Sql.Result</ref>, +  <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref>, <ref resolved='predef::Sql.pgsql_util.Result'>Sql.pgsql_util.Result</ref></p>   </text></group></doc>   <method name='big_query'><modifiers><final/></modifiers>   <arguments><argument name='q'><type><string/></type></argument><argument name='bindings'><type><or><void/><mapping><indextype><or><string/><int/></or></indextype><valuetype><mixed/></valuetype></mapping></or></type></argument><argument name='_alltyped'><type><or><void/><int/></or></type></argument></arguments> - <returntype><object resolved='predef::Sql.pgsql_util.sql_result'>.pgsql_util.sql_result</object></returntype> + <returntype><object resolved='predef::Sql.pgsql_util.Result'>.pgsql_util.Result</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='big_typed_query' homogen-type='method'><doc><text><p>This function returns an object that allows streaming and typed    results.</p> - </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql.big_query'>big_query()</ref>, <ref resolved='predef::Sql.Sql'>Sql.Sql</ref>, <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql.big_query'>big_query()</ref>, <ref resolved='predef::Sql.Connection'>Sql.Connection</ref>, <ref resolved='predef::Sql.Result'>Sql.Result</ref></p>   </text></group></doc>   <method name='big_typed_query'><modifiers><final/></modifiers>   <arguments><argument name='q'><type><string/></type></argument><argument name='bindings'><type><or><void/><mapping><indextype><or><string/><int/></or></indextype><valuetype><mixed/></valuetype></mapping></or></type></argument></arguments> - <returntype><object resolved='predef::Sql.pgsql_util.sql_result'>.pgsql_util.sql_result</object></returntype> + <returntype><object resolved='predef::Sql.pgsql_util.Result'>.pgsql_util.Result</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='cancelquery' homogen-type='method'><doc><text><p>Cancels all currently running queries in this session.</p>   </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql.reload'>reload()</ref>, <ref resolved='predef::Sql.pgsql.resync'>resync()</ref></p>   </text></group><group><note/><text><p>This function is PostgreSQL-specific.</p>   </text></group></doc>   <method name='cancelquery'><modifiers><final/></modifiers>   <arguments/>   <returntype><void/></returntype>   </method>
autodoc.git/modref.xml:117990:   </text></group></mapping><p>For the numerous other options please check the PostgreSQL manual.</p>   </text></group><group><note/><text><p>You need to have a database selected before using the SQL-object,    otherwise you'll get exceptions when you try to query it. Also    notice that this function <b>can</b> raise exceptions if the db    server doesn't respond, if the database doesn't exist or is not    accessible to you.</p>   </text></group><group><note/><text><p>It is possible that the exception from a failed connect    will not be triggered on this call (because the connect    proceeds asynchronously in the background), but on the first    attempt to actually use the database instead.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Postgres.postgres'>Postgres.postgres</ref>, <ref resolved='predef::Sql.Sql'>Sql.Sql</ref>, <ref resolved='predef::Sql.pgsql.select_db'>select_db()</ref>, + </text></group><group><seealso/><text><p><ref resolved='predef::Postgres.postgres'>Postgres.postgres</ref>, <ref resolved='predef::Sql.Connection'>Sql.Connection</ref>, <ref resolved='predef::Sql.pgsql.select_db'>select_db()</ref>,    <url>https://www.postgresql.org/docs/current/static/runtime-config-client.html</url></p>   </text></group></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='host'><type><or><void/><string/></or></type></argument><argument name='database'><type><or><void/><string/></or></type></argument><argument name='user'><type><or><void/><string/></or></type></argument><argument name='pass'><type><or><void/><string/></or></type></argument><argument name='options'><type><or><void/><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='create_db' homogen-type='method'><doc><text><p>This function creates a new database (assuming we    have sufficient privileges to do this).</p>   </text><group><param name='db'/><text><p>Name of the new database.</p>
autodoc.git/modref.xml:118341:   <string><group><value>idle</value><value>intransaction</value><value>infailedtransaction</value></group></string>   </text></group><group><note/><text><p>This function is PostgreSQL-specific.</p>   </text></group></doc>   <method name='status_commit'><modifiers><final/></modifiers>   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='streaming_query' homogen-type='method'><doc><text><p>This is an alias for <ref resolved='predef::Sql.pgsql.big_query'>big_query()</ref>, since <ref resolved='predef::Sql.pgsql.big_query'>big_query()</ref> already supports    streaming of multiple simultaneous queries through the same connection.</p> - </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql.big_query'>big_query()</ref>, <ref resolved='predef::Sql.pgsql.big_typed_query'>big_typed_query()</ref>, <ref resolved='predef::Sql.Sql'>Sql.Sql</ref>, <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql.big_query'>big_query()</ref>, <ref resolved='predef::Sql.pgsql.big_typed_query'>big_typed_query()</ref>, <ref resolved='predef::Sql.Connection'>Sql.Connection</ref>, <ref resolved='predef::Sql.Result'>Sql.Result</ref></p>   </text></group></doc>   <method name='streaming_query'><modifiers><final/></modifiers>   <arguments><argument name='q'><type><string/></type></argument><argument name='bindings'><type><or><void/><mapping><indextype><or><string/><int/></or></indextype><valuetype><mixed/></valuetype></mapping></or></type></argument></arguments> - <returntype><object resolved='predef::Sql.pgsql_util.sql_result'>.pgsql_util.sql_result</object></returntype> + <returntype><object resolved='predef::Sql.pgsql_util.Result'>.pgsql_util.Result</object></returntype>   </method>   </docgroup>   </class>   <module name='pgsql_util'>   <doc><text><p>The pgsql backend, shared between all connection instances.    It runs even in non-callback mode in a separate thread and makes sure    that communication with the database is real-time and event driven    at all times.</p>   </text><group><note/><text><p>Callbacks running from this backend directly determine the latency    in reacting to communication with the database server; so it
autodoc.git/modref.xml:118373:   <variable name='local_backend'><modifiers><final/></modifiers><type><object resolved='predef::Pike.Backend'>Pike.Backend</object></type></variable>   </docgroup>   <docgroup homogen-name='register_backend' homogen-type='method'><doc><text><p>Registers yourself as a user of this backend. If the backend    has not been started yet, it will be spawned automatically.</p>   </text></doc>   <method name='register_backend'><modifiers><final/></modifiers>   <arguments/>   <returntype><object resolved='predef::Thread.ResourceCountKey'>Thread.ResourceCountKey</object></returntype>   </method>   </docgroup> - <class name='sql_result'> + <class name='Result'>   <doc><text><p>The result object returned by <ref resolved='predef::Sql.pgsql.big_query'>Sql.pgsql()-&gt;big_query()</ref>, except for -  the noted differences it behaves the same as <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref>.</p> - </text><group><seealso/><text><p><ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref>, <ref resolved='predef::Sql.pgsql'>Sql.pgsql</ref>, <ref resolved='predef::Sql.Sql'>Sql.Sql</ref>, <ref resolved='predef::Sql.pgsql.big_query'>Sql.pgsql()-&gt;big_query()</ref></p> +  the noted differences it behaves the same as <ref resolved='predef::Sql.Result'>Sql.Result</ref>.</p> + </text><group><seealso/><text><p><ref resolved='predef::Sql.Result'>Sql.Result</ref>, <ref resolved='predef::Sql.pgsql'>Sql.pgsql</ref>, <ref resolved='predef::Sql.Sql'>Sql.Sql</ref>, <ref resolved='predef::Sql.pgsql.big_query'>Sql.pgsql()-&gt;big_query()</ref></p>   </text></group></doc>   <docgroup homogen-name='affected_rows' homogen-type='method'><doc><text><p>Returns the number of affected rows by this query.</p> - </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.sql_result.status_command_complete'>status_command_complete()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.Result.status_command_complete'>status_command_complete()</ref></p>   </text></group></doc>   <method name='affected_rows'><modifiers><final/></modifiers>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup> - <docgroup homogen-name='eof' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Sql.sql_result.eof'>Sql.sql_result()-&gt;eof()</ref></p> + <docgroup homogen-name='eof' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Result.eof'>Sql.Result()-&gt;eof()</ref></p>   </text></group></doc>   <method name='eof'><modifiers><final/></modifiers>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup> - <docgroup homogen-name='fetch_fields' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Sql.sql_result.fetch_fields'>Sql.sql_result()-&gt;fetch_fields()</ref></p> + <docgroup homogen-name='fetch_fields' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Result.fetch_fields'>Sql.Result()-&gt;fetch_fields()</ref></p>   </text></group></doc>   <method name='fetch_fields'><modifiers><final/></modifiers>   <arguments/>   <returntype><array><valuetype><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='fetch_row' homogen-type='method'><doc><group><returns/><text><p>One result row at a time.</p>   <p> When using COPY FROM STDOUT, this method returns one row at a time    as a single string containing the entire row.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.sql_result.eof'>eof()</ref>, <ref resolved='predef::Sql.pgsql_util.sql_result.send_row'>send_row()</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.Result.eof'>eof()</ref>, <ref resolved='predef::Sql.pgsql_util.Result.send_row'>send_row()</ref></p>   </text></group></doc>   <method name='fetch_row'><modifiers><final/></modifiers>   <arguments/>   <returntype><array><valuetype><mixed/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='fetch_row_array' homogen-type='method'><doc><group><returns/><text><p>Multiple result rows at a time (at least one).</p>   <p> When using COPY FROM STDOUT, this method returns one row at a time    as a single string containing the entire row.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.sql_result.eof'>eof()</ref>, <ref resolved='predef::Sql.pgsql_util.sql_result.fetch_row'>fetch_row()</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.Result.eof'>eof()</ref>, <ref resolved='predef::Sql.pgsql_util.Result.fetch_row'>fetch_row()</ref></p>   </text></group></doc>   <method name='fetch_row_array'><modifiers><final/></modifiers>   <arguments/>   <returntype><array><valuetype><array><valuetype><mixed/></valuetype></array></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='Result' homogen-type='inherit'>   <inherit name='Result'><classname resolved='predef::__builtin.Sql.Result'>__builtin.Sql.Result</classname></inherit>   </docgroup> - <docgroup homogen-name='num_fields' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::Sql.sql_result.num_fields'>Sql.sql_result()-&gt;num_fields()</ref></p> + <docgroup homogen-name='num_fields' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Result.num_fields'>Sql.Result()-&gt;num_fields()</ref></p>   </text></group></doc>   <method name='num_fields'><modifiers><final/></modifiers>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='num_rows' homogen-type='method'><doc><group><note/><text><p>This method returns the number of rows already received from    the database for the current query. Note that this number    can still increase between subsequent calls if the results from    the query are not complete yet. This function is only guaranteed to    return the correct count after EOF has been reached.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Sql.sql_result.num_rows'>Sql.sql_result()-&gt;num_rows()</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Result.num_rows'>Sql.Result()-&gt;num_rows()</ref></p>   </text></group></doc>   <method name='num_rows'><modifiers><final/></modifiers>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='send_row' homogen-type='method'><doc><group><param name='copydata'/><text><p>When using COPY FROM STDIN, this method accepts a string or an    array of strings to be processed by the COPY command; when sending    the amount of data sent per call does not have to hit row or column    boundaries.</p>   <p> The COPY FROM STDIN sequence needs to be completed by either    explicitly or implicitly destroying the result object, or by passing no    argument to this method.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.sql_result.fetch_row'>fetch_row()</ref>, <ref resolved='predef::Sql.pgsql_util.sql_result.eof'>eof()</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.Result.fetch_row'>fetch_row()</ref>, <ref resolved='predef::Sql.pgsql_util.Result.eof'>eof()</ref></p>   </text></group></doc>   <method name='send_row'><modifiers><final/></modifiers>   <arguments><argument name='copydata'><type><or><void/><string/><array><valuetype><string/></valuetype></array></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_result_array_callback' homogen-type='method'><doc><text><p>Sets up a callback for sets of rows returned from the database.    First argument passed is the resultobject itself, second argument    is the array of result rows (zero on EOF).</p> - </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.sql_result.fetch_row'>fetch_row()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.Result.fetch_row'>fetch_row()</ref></p>   </text></group></doc>   <method name='set_result_array_callback'><modifiers><final/></modifiers> - <arguments><argument name='callback'><type><function><argtype><object resolved='predef::Sql.pgsql_util.sql_result'>sql_result</object></argtype><argtype><array><valuetype><array><valuetype><mixed/></valuetype></array></valuetype></array></argtype><argtype><varargs><mixed/></varargs></argtype><returntype><void/></returntype></function></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments> + <arguments><argument name='callback'><type><function><argtype><object resolved='predef::Sql.pgsql_util.Result'>Result</object></argtype><argtype><array><valuetype><array><valuetype><mixed/></valuetype></array></valuetype></array></argtype><argtype><varargs><mixed/></varargs></argtype><returntype><void/></returntype></function></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_result_callback' homogen-type='method'><doc><text><p>Sets up a callback for every row returned from the database.    First argument passed is the resultobject itself, second argument    is the result row (zero on EOF).</p> - </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.sql_result.fetch_row'>fetch_row()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.Result.fetch_row'>fetch_row()</ref></p>   </text></group></doc>   <method name='set_result_callback'><modifiers><final/></modifiers> - <arguments><argument name='callback'><type><function><argtype><object resolved='predef::Sql.pgsql_util.sql_result'>sql_result</object></argtype><argtype><array><valuetype><mixed/></valuetype></array></argtype><argtype><varargs><mixed/></varargs></argtype><returntype><void/></returntype></function></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments> + <arguments><argument name='callback'><type><function><argtype><object resolved='predef::Sql.pgsql_util.Result'>Result</object></argtype><argtype><array><valuetype><mixed/></valuetype></array></argtype><argtype><varargs><mixed/></varargs></argtype><returntype><void/></returntype></function></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='status_command_complete' homogen-type='method'><doc><text><p>Returns the command-complete status for this query.</p> - </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.sql_result.affected_rows'>affected_rows()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql_util.Result.affected_rows'>affected_rows()</ref></p>   </text></group></doc>   <method name='status_command_complete'><modifiers><final/></modifiers>   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   </class> -  + <class name='sql_result'> + <doc><group><deprecated><name><ref resolved='predef::Sql.pgsql_util.Result'>Result</ref></name></deprecated></group></doc> + </class>   </module>   <class name='pgsqls'>   <doc><text><p>Implements SQL-urls for    <tt>pgsqls://[user[:password]@][hostname][:port][/database]</tt></p>   <p> Sets the connection to SSL-mode, otherwise identical to <ref resolved='predef::Sql.pgsql'>Sql.pgsql</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::Sql.pgsql'>Sql.pgsql</ref>, <ref resolved='predef::Sql.Sql'>Sql.Sql</ref></p>   </text></group></doc>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>
autodoc.git/modref.xml:140973:    operate differently from what is described here, e.g. some that    return a bit of typed data in untyped mode.</p>   </text></group><group><note/><text><p>Typed operation was not supported at all prior to Pike 7.8.363,    and may not be supported for all databases.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Sql.Connection'>Sql.Connection</ref>, <ref resolved='predef::Sql.Sql'>Sql.Sql()</ref>, <ref resolved='predef::__builtin.Sql.Result'>Result</ref></p>   </text></group></doc>   <docgroup homogen-name='big_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results in untyped mode.</p>   </text><group><param name='q'/><text><p>Query to send to the SQL-server. This can either be a string with the    query, or a previously compiled query (see <ref resolved='predef::__builtin.Sql.Connection.compile_query'>compile_query()</ref>).</p> - </text></group><group><returns/><text><p>The result is returned as an <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in untyped + </text></group><group><returns/><text><p>The result is returned as an <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in untyped    mode. This allows for having some more info about the result as    well as processing the result in a streaming fashion, although the    result itself wasn't obtained streamingly from the server.</p>   <p> Returns <expr>0</expr> if the query didn't return any result    (e.g. <tt>INSERT</tt> or similar).</p>   </text></group><group><throws/><text><p>Throws an exception if the query fails.</p>   <p> Called by other variants of <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query()</ref> after they have processed    their extra arguments.</p>   <p> This prototype function is the base variant and is intended to be    overloaded by actual drivers.</p>
autodoc.git/modref.xml:141006:   </text><group><param name='q'/><text><p>Query to send to the SQL-server. This can either be a string with the    query, or a previously compiled query (see <ref resolved='predef::__builtin.Sql.Connection.compile_query'>compile_query()</ref>).</p>   </text></group><group><param name='bindings'/><text><p>A mapping containing bindings of variables used in the query.    A variable is identified by a colon (:) followed by a name or number.    Each index in the mapping corresponds to one such variable, and the    value for that index is substituted (quoted) into the query wherever    the variable is used.</p>   <code><text><p>res = query("SELECT foo FROM bar WHERE gazonk=:baz",    ([":baz":"value"]));</p>   </text></code><p>Binary values (BLOBs) may need to be placed in multisets.</p> - </text></group><group><returns/><text><p>The result is returned as an <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in untyped + </text></group><group><returns/><text><p>The result is returned as an <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in untyped    mode. This allows for having some more info about the result as    well as processing the result in a streaming fashion, although the    result itself wasn't obtained streamingly from the server.</p>   <p> Returns <expr>0</expr> if the query didn't return any result    (e.g. <tt>INSERT</tt> or similar).</p>   </text></group><group><throws/><text><p>Throws an exception if the query fails.</p>   <p> Calls the base variant of <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query()</ref> after having inserted    the bindings into the query (using <ref resolved='predef::__builtin.Sql.Connection.emulate_bindings'>emulate_bindings()</ref>).</p>   <p> Drivers that actually support bindings should overload this    variant in addition to the base variant.</p>
autodoc.git/modref.xml:141034:   <returntype><or><int/><object resolved='predef::__builtin.Sql.Result'>.Result</object></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='big_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results in untyped mode.</p>   </text><group><param name='q'/><text><p>Query to send to the SQL-server. This can either be a string with the    query, or a previously compiled query (see <ref resolved='predef::__builtin.Sql.Connection.compile_query'>compile_query()</ref>).</p>   </text></group><group><param name='extraarg'/><param name='extraargs'/><text><p>Arguments as you would use in sprintf. They are automatically    quoted.</p>   <code><text><p>res = query("select foo from bar where gazonk=%s","value");</p> - </text></code><p>The result is returned as an <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in untyped + </text></code><p>The result is returned as an <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in untyped    mode. This allows for having some more info about the result as    well as processing the result in a streaming fashion, although the    result itself wasn't obtained streamingly from the server. Returns    <expr>0</expr> if the query didn't return any result (e.g. <tt>INSERT</tt>    or similar).</p>   <p> The default implementation normalizes <ref resolved='predef::__builtin.Sql.Connection.big_query.q'>q</ref> and <ref resolved='predef::__builtin.Sql.Connection.big_query.extraargs'>extraargs</ref> to    use the bindings mapping (via <ref resolved='predef::__builtin.Sql.Connection.handle_extraargs'>handle_extraargs()</ref>), and calls    one of the other variants of <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query()</ref> with the result.</p>   </text></group><group><note/><text><p>Despite the name, this function is not only useful for "big"    queries. It typically has less overhead than <ref resolved='predef::__builtin.Sql.Connection.query'>query</ref> also for
autodoc.git/modref.xml:141056:   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.query'>query</ref>, <ref resolved='predef::__builtin.Sql.Connection.handle_extraargs'>handle_extraargs</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query</ref></p>   </text></group></doc>   <method name='big_query'><modifiers><variant/></modifiers>   <arguments><argument name='q'><type><or><object resolved='predef::__builtin.Sql.Connection.big_query'/><string/></or></type></argument><argument name='extraarg'><type><or><string/><multiset/><int/><float/><object resolved='predef::__builtin.Sql.Connection.big_query'/></or></type></argument><argument name='extraargs'><type><varargs><or><string/><multiset/><int/><float/><object resolved='predef::__builtin.Sql.Connection.big_query'/></or></varargs></type></argument></arguments>   <returntype><or><int/><object resolved='predef::__builtin.Sql.Result'>.Result</object></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='big_typed_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results in typed mode.</p>   <p> For the argument, please see the <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query()</ref> function.</p> - <p> The result is returned as an <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in typed + <p> The result is returned as an <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in typed    mode. This allows for having some more info about the result as    well as processing the result in a streaming fashion, although the    result itself wasn't obtained streamingly from the server. Returns    <expr>0</expr> if the query didn't return any result (e.g. <tt>INSERT</tt>    or similar).</p>   </text><group><note/><text><p>Typed mode is not supported by all sql databases. If not    supported, an error is thrown.</p>   </text></group><group><note/><text><p>Despite the name, this function is not only useful for "big"    queries. It typically has less overhead than <ref resolved='predef::__builtin.Sql.Connection.typed_query'>typed_query</ref> also    for ones that return only a few rows.</p>
autodoc.git/modref.xml:141079:   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.query'>query</ref>, <ref resolved='predef::__builtin.Sql.Connection.typed_query'>typed_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query</ref></p>   </text></group></doc>   <method name='big_typed_query'>   <arguments><argument name='q'><type><or><object resolved='predef::__builtin.Sql.Connection.big_typed_query'/><string/></or></type></argument></arguments>   <returntype><or><int/><object resolved='predef::__builtin.Sql.Result'>.Result</object></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='big_typed_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results in typed mode.</p>   <p> For the arguments, please see the <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query()</ref> function.</p> - <p> The result is returned as an <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in typed + <p> The result is returned as an <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in typed    mode. This allows for having some more info about the result as    well as processing the result in a streaming fashion, although the    result itself wasn't obtained streamingly from the server. Returns    <expr>0</expr> if the query didn't return any result (e.g. <tt>INSERT</tt>    or similar).</p>   </text><group><note/><text><p>Typed mode is not supported by all sql databases. If not    supported, an error is thrown.</p>   </text></group><group><note/><text><p>Despite the name, this function is not only useful for "big"    queries. It typically has less overhead than <ref resolved='predef::__builtin.Sql.Connection.typed_query'>typed_query</ref> also    for ones that return only a few rows.</p>
autodoc.git/modref.xml:141101:   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.query'>query</ref>, <ref resolved='predef::__builtin.Sql.Connection.typed_query'>typed_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query</ref></p>   </text></group></doc>   <method name='big_typed_query'><modifiers><variant/></modifiers>   <arguments><argument name='q'><type><or><object resolved='predef::__builtin.Sql.Connection.big_typed_query'/><string/></or></type></argument><argument name='bindings'><type><mapping><indextype><or><string/><int/></or></indextype><valuetype><mixed/></valuetype></mapping></type></argument></arguments>   <returntype><or><int/><object resolved='predef::__builtin.Sql.Result'>.Result</object></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='big_typed_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results in typed mode.</p>   <p> For the arguments, please see the <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query()</ref> function.</p> - <p> The result is returned as an <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in typed + <p> The result is returned as an <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in typed    mode. This allows for having some more info about the result as    well as processing the result in a streaming fashion, although the    result itself wasn't obtained streamingly from the server. Returns    <expr>0</expr> if the query didn't return any result (e.g. <tt>INSERT</tt>    or similar).</p>   </text><group><note/><text><p>Typed mode is not supported by all sql databases. If not    supported, an error is thrown.</p>   </text></group><group><note/><text><p>Despite the name, this function is not only useful for "big"    queries. It typically has less overhead than <ref resolved='predef::__builtin.Sql.Connection.typed_query'>typed_query</ref> also    for ones that return only a few rows.</p>
autodoc.git/modref.xml:141438:   </text></group><group><value>-1</value><text><p>The server has gone away, and the connection is dead.</p>   </text></group></int><p>The default implementation performs a trivial select to    check the connection.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.is_open'>is_open()</ref></p>   </text></group></doc>   <method name='ping'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup> + <docgroup homogen-name='promise_query' homogen-type='method'><doc><text><p>Sends a query to the database asynchronously.</p> + </text><group><returns/><text><p>A <ref resolved='predef::Concurrent.Future'>Concurrent.Future</ref> object which on failure/success passes +  a <ref resolved='predef::Sql.FutureResult'>Sql.FutureResult</ref> object to evaluate the query.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.promise_query_first_result'>promise_query_first_result()</ref>, <ref resolved='predef::__builtin.Sql.Connection.promise_query_result'>promise_query_result()</ref>, +  <ref resolved='predef::__builtin.Sql.Connection.promise_query_discard'>promise_query_discard()</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query()</ref></p> + </text></group><group><example/><text><code><text><p>Sql.Connection db = Sql.Connection("..."); +  Concurrent.Future q1 = db-&gt;promise_query("SELECT :bar::INT", (["bar":1])); +  Concurrent.Future q2 = db-&gt;promise_query("SELECT :foo::INT", (["foo":2]));</p> + <p> array(Concurrent.Future) all = ({ q1, q2 });</p> + <p> /* +  To get a callback for each of the requests +  */</p> + <p> all-&gt;on_success(lambda (Sql.FutureResult resp) { +  werror("Got result %O from %O\n", resp-&gt;data, resp-&gt;query); +  }); +  all-&gt;on_failure(lambda (Sql.FutureResult resp) { +  werror("Request %O failed: %O\n", resp-&gt;query, resp-&gt;exception); +  });</p> + <p> /* +  To get a callback when all of the requests are done. In this case +  on_failure will be called if any of the request fails. +  */</p> + <p> Concurrent.Future all2 = Concurrent.results(all);</p> + <p> all2-&gt;on_success(lambda (array(Sql.FutureResult) resp) { +  werror("All requests were successful: %O\n", resp); +  }); +  all-&gt;on_failure(lambda (Sql.FutureResult resp) { +  werror("Requests %O failed with %O.\n", resp-&gt;query, resp-&gt;exception); +  });</p> + </text></code> + </text></group></doc> + <method name='promise_query'><modifiers><public/></modifiers> + <arguments><argument name='q'><type><string/></type></argument><argument name='bindings'><type><or><void/><mapping><indextype><or><string/><int/></or></indextype><valuetype><mixed/></valuetype></mapping></or></type></argument></arguments> + <returntype><object resolved='predef::Concurrent.Future'>Concurrent.Future</object></returntype> + </method> + </docgroup> + <docgroup homogen-name='promise_query_discard' homogen-type='method'><doc><text><p>Sends a query to the database asynchronously, discards all query result +  records.</p> + </text><group><returns/><text><p>A <ref resolved='predef::Concurrent.Future'>Concurrent.Future</ref> object which on failure/success passes +  a <ref resolved='predef::Sql.FutureResult'>Sql.FutureResult</ref> object to evaluate the query.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.promise_query'>promise_query()</ref>, <ref resolved='predef::__builtin.Sql.Connection.promise_query_first_result'>promise_query_first_result()</ref>, +  <ref resolved='predef::__builtin.Sql.Connection.promise_query_result'>promise_query_result()</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query()</ref></p> + </text></group></doc> + <method name='promise_query_discard'><modifiers><public/></modifiers> + <arguments><argument name='q'><type><string/></type></argument><argument name='bindings'><type><or><void/><mapping><indextype><or><string/><int/></or></indextype><valuetype><mixed/></valuetype></mapping></or></type></argument></arguments> + <returntype><object resolved='predef::Concurrent.Future'>Concurrent.Future</object></returntype> + </method> + </docgroup> + <docgroup homogen-name='promise_query_first_result' homogen-type='method'><doc><text><p>Sends a query to the database asynchronously, expects at least +  a single record from the database; will discard any further +  records.</p> + </text><group><returns/><text><p>A <ref resolved='predef::Concurrent.Future'>Concurrent.Future</ref> object which on failure/success passes +  a <ref resolved='predef::Sql.FutureResult'>Sql.FutureResult</ref> object to evaluate the query.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.promise_query'>promise_query()</ref>, <ref resolved='predef::__builtin.Sql.Connection.promise_query_result'>promise_query_result()</ref>, +  <ref resolved='predef::__builtin.Sql.Connection.promise_query_discard'>promise_query_discard()</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query()</ref></p> + </text></group></doc> + <method name='promise_query_first_result'><modifiers><public/></modifiers> + <arguments><argument name='q'><type><string/></type></argument><argument name='bindings'><type><or><void/><mapping><indextype><or><string/><int/></or></indextype><valuetype><mixed/></valuetype></mapping></or></type></argument></arguments> + <returntype><object resolved='predef::Concurrent.Future'>Concurrent.Future</object></returntype> + </method> + </docgroup> + <docgroup homogen-name='promise_query_result' homogen-type='method'><doc><text><p>Sends a query to the database asynchronously, expects at least +  a single record from the database.</p> + </text><group><returns/><text><p>A <ref resolved='predef::Concurrent.Future'>Concurrent.Future</ref> object which on failure/success passes +  a <ref resolved='predef::Sql.FutureResult'>Sql.FutureResult</ref> object to evaluate the query.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.promise_query'>promise_query()</ref>, <ref resolved='predef::__builtin.Sql.Connection.promise_query_first_result'>promise_query_first_result()</ref>, +  <ref resolved='predef::__builtin.Sql.Connection.promise_query_discard'>promise_query_discard()</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query()</ref></p> + </text></group></doc> + <method name='promise_query_result'><modifiers><public/></modifiers> + <arguments><argument name='q'><type><string/></type></argument><argument name='bindings'><type><or><void/><mapping><indextype><or><string/><int/></or></indextype><valuetype><mixed/></valuetype></mapping></or></type></argument></arguments> + <returntype><object resolved='predef::Concurrent.Future'>Concurrent.Future</object></returntype> + </method> + </docgroup>   <docgroup homogen-name='query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results in untyped mode.</p>   <p> For the arguments, please see the <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query()</ref> function.</p>   </text><group><returns/><text><p>Returns one of the following on success:</p>   <mixed><group><type><array><valuetype><mapping><indextype><string/></indextype><valuetype><string/></valuetype></mapping></valuetype></array></type><text><p>The result as an array of mappings indexed on the name of    the columns. The values are either strings with the display    representations or zero for the SQL NULL value.</p>   </text></group><group><type><zero/></type><text><p>The value <expr>0</expr> (zero) if the query didn't return any    result (eg <tt>INSERT</tt> or similar).</p>   </text></group></mixed>
autodoc.git/modref.xml:141538:   <p> The SQLSTATE error codes are specified in ANSI SQL.</p>   </text></doc>   <method name='sqlstate'>   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='streaming_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results streaming in untyped mode.</p>   <p> For the arguments, please see the <ref>low_big_query()</ref> function.</p> - <p> The result is returned as a streaming <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in + <p> The result is returned as a streaming <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in    untyped mode. This allows for having results larger than the    available memory, and returning some more info about the result.    Returns <expr>0</expr> if the query didn't return any result (e.g.    INSERT or similar). For the other arguments, they are the same as    for the <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref> function.</p>   <p> Called by <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query()</ref> after it has processed any bindings.</p>   <p> This variant function is intended for overriding by drivers.</p>   </text><group><note/><text><p>Streaming operation is not supported by all sql databases.    The default implementation falls back to calling <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query()</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_typed_query'>streaming_typed_query</ref></p>   </text></group></doc>   <method name='streaming_query'>   <arguments><argument name='q'><type><or><object resolved='predef::__builtin.Sql.Connection.streaming_query'/><string/></or></type></argument></arguments>   <returntype><or><int/><object resolved='predef::__builtin.Sql.Result'>.Result</object></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='streaming_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results streaming in untyped mode.</p>   <p> For the arguments, please see the <ref>low_big_query()</ref> function.</p> - <p> The result is returned as a streaming <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in + <p> The result is returned as a streaming <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in    untyped mode. This allows for having results larger than the    available memory, and returning some more info about the result.    Returns <expr>0</expr> if the query didn't return any result (e.g.    INSERT or similar). For the other arguments, they are the same as    for the <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref> function.</p>   <p> Called by <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query()</ref> after it has processed any bindings.</p>   <p> This variant function is intended for overriding by drivers that    actually implement bindings.</p>   </text><group><note/><text><p>Streaming operation is not supported by all sql databases.    The default implementation falls back to calling <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query()</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_typed_query'>streaming_typed_query</ref></p>   </text></group></doc>   <method name='streaming_query'><modifiers><variant/></modifiers>   <arguments><argument name='q'><type><or><object resolved='predef::__builtin.Sql.Connection.streaming_query'/><string/></or></type></argument><argument name='bindings'><type><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping></type></argument></arguments>   <returntype><or><int/><object resolved='predef::__builtin.Sql.Result'>.Result</object></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='streaming_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results streaming in untyped mode.</p>   <p> For the arguments, please see the <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref> function.</p> - <p> The result is returned as a streaming <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in + <p> The result is returned as a streaming <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in    untyped mode. This allows for having results larger than the    available memory, and returning some more info about the result.    Returns <expr>0</expr> if the query didn't return any result (e.g.    INSERT or similar). For the other arguments, they are the same as    for the <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref> function.</p>   </text><group><note/><text><p>Streaming operation is not supported by all sql databases.    If not supported, this function will fall back to calling    <ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query()</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_typed_query'>streaming_typed_query</ref></p>   </text></group></doc>   <method name='streaming_query'><modifiers><variant/></modifiers>   <arguments><argument name='q'><type><or><object resolved='predef::__builtin.Sql.Connection.streaming_query'/><string/></or></type></argument><argument name='extraarg'><type><or><string/><multiset/><int/><float/><object resolved='predef::__builtin.Sql.Connection.streaming_query'/></or></type></argument><argument name='extraargs'><type><varargs><or><string/><multiset/><int/><float/><object resolved='predef::__builtin.Sql.Connection.streaming_query'/></or></varargs></type></argument></arguments>   <returntype><or><int/><object resolved='predef::__builtin.Sql.Result'>.Result</object></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='streaming_typed_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results streaming in typed mode.</p>   <p> For the arguments, please see the <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref> function.</p> - <p> The result is returned as a streaming <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in + <p> The result is returned as a streaming <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in    typed mode. This allows for having results larger than the    available memory, and returning some more info about the result.    Returns <expr>0</expr> if the query didn't return any result (e.g.    INSERT or similar).</p>   <p> Called by <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query()</ref> after it has processed any bindings.</p>   <p> This function is intended for overriding by drivers.</p>   </text><group><note/><text><p>Neither streaming operation nor typed results are supported    by all sql databases. The default implentation falls back to    calling <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query()</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query</ref></p>   </text></group></doc>   <method name='streaming_typed_query'>   <arguments><argument name='q'><type><or><object resolved='predef::__builtin.Sql.Connection.streaming_typed_query'/><string/></or></type></argument></arguments>   <returntype><or><int/><object resolved='predef::__builtin.Sql.Result'>.Result</object></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='streaming_typed_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results streaming in typed mode.</p>   <p> For the arguments, please see the <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref> function.</p> - <p> The result is returned as a streaming <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in + <p> The result is returned as a streaming <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in    typed mode. This allows for having results larger than the    available memory, and returning some more info about the result.    Returns <expr>0</expr> if the query didn't return any result (e.g.    INSERT or similar).</p>   <p> Called by <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query()</ref> after it has processed any bindings.</p>   <p> This function is intended for overriding by drivers.</p>   </text><group><note/><text><p>Neither streaming operation nor typed results are supported    by all sql databases. The default implentation falls back to    calling <ref>low_big_typed_query()</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query</ref></p>   </text></group></doc>   <method name='streaming_typed_query'><modifiers><variant/></modifiers>   <arguments><argument name='q'><type><or><object resolved='predef::__builtin.Sql.Connection.streaming_typed_query'/><string/></or></type></argument><argument name='bindings'><type><mapping><indextype><or><string/><int/></or></indextype><valuetype><mixed/></valuetype></mapping></type></argument></arguments>   <returntype><or><int/><object resolved='predef::__builtin.Sql.Result'>.Result</object></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='streaming_typed_query' homogen-type='method'><doc><text><p>Send an SQL query synchronously to the SQL-server and return    the results streaming in typed mode.</p>   <p> For the arguments, please see the <ref resolved='predef::__builtin.Sql.Connection.query'>query()</ref> function.</p> - <p> The result is returned as a streaming <ref resolved='predef::Sql.sql_result'>Sql.sql_result</ref> object in + <p> The result is returned as a streaming <ref resolved='predef::Sql.Result'>Sql.Result</ref> object in    typed mode. This allows for having results larger than the    available memory, and returning some more info about the result.    Returns <expr>0</expr> if the query didn't return any result (e.g.    INSERT or similar).</p>   </text><group><note/><text><p>Neither streaming operation nor typed results are supported    by all sql databases. If not supported, this function will    fall back to calling <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query()</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query</ref></p>   </text></group></doc>   <method name='streaming_typed_query'><modifiers><variant/></modifiers>