autodoc.git
/
onepage.xml
version
»
Context lines:
10
20
40
80
file
none
3
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>