autodoc.git / onepage.xml

version» Context lines:

autodoc.git/onepage.xml:1:   <?xml version='1.0' encoding='utf-8'?> - <manual time-stamp='2018-01-29' version='Pike v8.1.11'> + <manual time-stamp='2018-01-31' version='Pike v8.1.11'>    <dir name='./onepage'>    <file name='./onepage/manual.html'>    <chapter number='1' title='Control Structures'>      <p>In this chapter all the control structures in Pike will be   explained. Control structures are used to control the flow of the   program execution. Note that functions that make the program pause and   simple function calls are not qualified as control structures.</p>      <section number='1' title='Conditions'>
autodoc.git/onepage.xml:2669:   </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/onepage.xml:3286:   <variable name='client_cert_distinguished_names'><type><array><valuetype><string/></valuetype></array></type></variable>   </docgroup>   <docgroup homogen-type='variable'><doc><text><p>Random cookies, sent and received with the hello-messages.</p>   </text></doc>   <variable name='client_random'><type><string/></type></variable>   <variable name='server_random'><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><group><param name='is_server'/><text><p>Whether this is the server end of the connection or not.</p>   </text></group><group><param name='ctx'/><text><p>The context for the connection.</p>   </text></group><group><param name='min_version'/><text><p>Minimum version of SSL to support. -  Defaults to <ref resolved='7.8::SSL.Constants.ProtocolVersion.PROTOCOL_SSL_3_0'>Constants.PROTOCOL_SSL_3_0</ref>.</p> +  Defaults to <ref resolved='predef::SSL.Constants.ProtocolVersion.PROTOCOL_SSL_3_0'>Constants.PROTOCOL_SSL_3_0</ref>.</p>   </text></group><group><param name='max_version'/><text><p>Maximum version of SSL to support.    Defaults to <ref resolved='7.8::SSL.Constants.PROTOCOL_minor'>Constants.PROTOCOL_minor</ref>.</p>   </text></group></doc>   <method name='create'>   <arguments><argument name='is_server'><type><int/></type></argument><argument name='ctx'><type><or><void/><object resolved='7.8::SSL.context'>SSL.context</object></or></type></argument><argument name='min_version'><type><or><void/><object resolved='7.8::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></or></type></argument><argument name='max_version'><type><or><void/><object resolved='7.8::SSL.Constants.ProtocolVersion'>ProtocolVersion</object></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='handle_handshake' homogen-type='method'><doc><text><p>Do handshake processing. Type is one of HANDSHAKE_*, data is the    contents of the packet, and raw is the raw packet received (needed
autodoc.git/onepage.xml:3453:   <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='7.8::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='predef::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/onepage.xml:144675:    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.Result'>Sql.Result</ref> object in untyped + </text></group><group><returns/><text><p>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> - </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> + </text></group><group><throws/><text><p>Might throw an exception if the query fails. In some cases, the +  exception is delayed, because the database reports the error +  a (little) while after the query has already been started.</p>   <p> This prototype function is the base variant and is intended to be    overloaded by actual drivers.</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    ones that return only a few rows.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.query'>query</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.query'>query</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_typed_query'>streaming_typed_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></arguments>   <returntype><object resolved='predef::__builtin.Sql.Result'>.Result</object></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='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.Result'>Sql.Result</ref> object in untyped + </text></group><group><returns/><text><p>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> - </text></group><group><throws/><text><p>Throws an exception if the query fails.</p> + </text></group><group><throws/><text><p>Might throw an exception if the query fails. In some cases, the +  exception is delayed, because the database reports the error +  a (little) while after the query has already been started.</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>   </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    ones that return only a few rows.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.query'>query</ref>, <ref resolved='predef::__builtin.Sql.Connection.emulate_bindings'>emulate_bindings</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.query'>query</ref>, <ref resolved='predef::__builtin.Sql.Connection.emulate_bindings'>emulate_bindings</ref>, <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query</ref>, +  <ref resolved='predef::__builtin.Sql.Connection.streaming_typed_query'>streaming_typed_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='bindings'><type><mapping><indextype><or><string/><int/></or></indextype><valuetype><mixed/></valuetype></mapping></type></argument></arguments>   <returntype><object resolved='predef::__builtin.Sql.Result'>.Result</object></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.Result'>Sql.Result</ref> object in untyped + </text></code> + </text></group><group><returns/><text><p>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> 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    ones that return only a few rows.</p>   </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><object resolved='predef::__builtin.Sql.Result'>.Result</object></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.Result'>Sql.Result</ref> object in typed + </text><group><returns/><text><p>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.</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>Typed mode support varies per database and per datatype. +  SQL datatypes which the current database cannot return as a native Pike +  type, will be returned as (untyped) strings.</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> - <p> Called by <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query()</ref> after it has processed any bindings.</p> +    <p> Drivers should override this prototype function.</p>   </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></arguments>   <returntype><object resolved='predef::__builtin.Sql.Result'>.Result</object></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.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.</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><note/><text><p>Typed mode support varies per database and per datatype. +  SQL datatypes which the current database cannot return as a native Pike +  type, will be returned as (untyped) strings.</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> - <p> Called by <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query()</ref> after it has processed any bindings.</p> + <p> Drivers that actually support bindings should overload this +  variant in addition to the base variant.</p>   </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><object resolved='predef::__builtin.Sql.Result'>.Result</object></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.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.</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><note/><text><p>Typed mode support varies per database and per datatype. +  SQL datatypes which the current database cannot return as a native Pike +  type, will be returned as (untyped) strings.</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>   </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='extraarg'><type><or><string/><multiset/><int/><float/><object resolved='predef::__builtin.Sql.Connection.big_typed_query'/></or></type></argument><argument name='extraargs'><type><varargs><or><string/><multiset/><int/><float/><object resolved='predef::__builtin.Sql.Connection.big_typed_query'/></or></varargs></type></argument></arguments>   <returntype><object resolved='predef::__builtin.Sql.Result'>.Result</object></returntype>   </method>   </docgroup>
autodoc.git/onepage.xml:145270:   <docgroup homogen-name='sqlstate' homogen-type='method'><doc><text><p>Return last SQLSTATE.</p>   <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.Result'>Sql.Result</ref> object in + <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>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. -  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> +  available memory, and returning some more info about the result.</p>   <p> Drivers should override this prototype function.</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><note/><text><p>Typed mode support varies per database and per datatype. +  SQL datatypes which the current database cannot return as a native Pike +  type, will be returned as (untyped) strings.</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></arguments>   <returntype><object resolved='predef::__builtin.Sql.Result'>.Result</object></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.Result'>Sql.Result</ref> object in + <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>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. -  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> +  available memory, and returning some more info about the result.</p>   <p> Drivers that implement bindings should override this prototype function.</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><object resolved='predef::__builtin.Sql.Result'>.Result</object></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.Result'>Sql.Result</ref> object in + <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>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. -  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> +  available memory, and returning some more info about the result.</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><object resolved='predef::__builtin.Sql.Result'>.Result</object></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.Result'>Sql.Result</ref> object in + <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>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.</p> - <p> Called by <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query()</ref> after it has processed any bindings.</p> +    <p> Drivers should override this prototype function.</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><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query</ref>, <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></arguments>   <returntype><object resolved='predef::__builtin.Sql.Result'>.Result</object></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.Result'>Sql.Result</ref> object in + <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>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.</p> - <p> Called by <ref resolved='predef::__builtin.Sql.Connection.streaming_query'>streaming_query()</ref> after it has processed any bindings.</p> +    <p> Drivers should override this prototype function.</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><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query</ref>, <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><object resolved='predef::__builtin.Sql.Result'>.Result</object></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.Result'>Sql.Result</ref> object in + </text><group><returns/><text><p>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.</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><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.big_query'>big_query</ref>, <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='extraarg'><type><or><string/><multiset/><int/><float/><object resolved='predef::__builtin.Sql.Connection.streaming_typed_query'/></or></type></argument><argument name='extraargs'><type><varargs><or><string/><multiset/><int/><float/><object resolved='predef::__builtin.Sql.Connection.streaming_typed_query'/></or></varargs></type></argument></arguments>   <returntype><object resolved='predef::__builtin.Sql.Result'>.Result</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='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.query'>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><mixed/></valuetype></mapping></valuetype></array></type><text><p>The result as an array of mappings indexed on the name of    the columns. The values have the appropriate native pike    types where they fit the SQL data types - see the class doc    for details on typed mode.</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> - </text></group><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>Typed mode support varies per database and per datatype. +  SQL datatypes which the current database cannot return as a native Pike +  type, will be returned as (untyped) strings.</p>   </text></group><group><note/><text><p>The default implementation calls <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query()</ref>    and converts its result.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::__builtin.Sql.Connection.query'>query</ref>, <ref resolved='predef::__builtin.Sql.Connection.big_typed_query'>big_typed_query</ref></p>   </text></group></doc>   <method name='typed_query'>   <arguments><argument name='q'><type><or><object resolved='predef::__builtin.Sql.Connection.typed_query'/><string/></or></type></argument><argument name='extraargs'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><array><valuetype><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping></valuetype></array></returntype>   </method>   </docgroup>   </class>