1 <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
3 <interface name="vx.db">
4 <method name="ExecNoResult">
5 <arg name="query" type="s" direction="in"/>
8 <method name="ExecScalar">
9 <arg name="query" type="s" direction="in"/>
10 <arg name="result" type="v" direction="out"/>
13 <method name="ExecRecordset">
14 <arg name="query" type="s" direction="in"/>
15 <arg name="colinfo" type="a(issnny)" direction="out"/>
16 <!-- Returned data is:
20 int16 numeric precision
23 - a bitfield, with only one bit currently defined,
26 <arg name="data" type="v" direction="out"/>
27 <!-- row-major order; the variant's signature is an array type
28 of the form a(...) where ... are the columns -->
29 <arg name="nullity" type="aay" direction="out"/>
30 <!-- 0 for not null, 1 for null -->
32 <method name="ExecChunkRecordset">
33 <arg name="query" type="s" direction="in"/>
34 <!-- Returns signals of the same type as responses to
35 ExecRecordset above, except also suffixed with:
36 uint32 serial number of ExecChunkRecordset request
38 Signals are called "ChunkRecordsetSig". See below.
40 The final bit of data (< 1 MB trailing) will be sent
41 via the response to this message. After the response,
42 you know there's no more data coming.
44 <arg name="colinfo" type="a(issnny)" direction="out"/>
45 <!-- Returned data is:
49 int16 numeric precision
52 - a bitfield, with only one bit currently defined,
55 <arg name="data" type="v" direction="out"/>
56 <!-- row-major order; the variant's signature is an array type
57 of the form a(...) where ... are the columns -->
58 <arg name="nullity" type="aay" direction="out"/>
59 <!-- 0 for not null, 1 for null -->
61 <signal name="ChunkRecordsetSig">
62 <arg name="colinfo" type="a(issnny)"/>
63 <!-- Returned data is:
67 int16 numeric precision
70 - a bitfield, with only one bit currently defined,
73 <arg name="data" type="v"/>
74 <!-- row-major order; the variant's signature is an array type
75 of the form a(...) where ... are the columns -->
76 <arg name="nullity" type="aay"/>
77 <!-- 0 for not null, 1 for null -->
78 <arg name="reply_serial" type="u"/>
79 <!-- serial # of query this is in response to -->
82 <arg name="colinfo" type="a(issnny)" direction="out"/>
83 <arg name="data" type="v" direction="out"/>
84 <arg name="nullity" type="aay" direction="out"/>
87 <!-- Any of these can throw:
88 vx.db.sqlerror - SQL statement error (text
89 parameter will include actual error)
90 vx.db.toomuchdata - Scalar or Recordset result
91 is too large to transmit in a single d-bus message. Will
92 need to use a different API (not yet defined). text
93 parameter will indicate what the problem is
94 vx.db.badschema - Schema returned by the query
95 contains features not supported (such as sql_variant).
96 text parameter will indicate what the problem is
97 vx.db.exception - Method threw an exception
98 other than those listed above. Text parameter will contain
99 the normal .NET exception description and backtrace
103 - Transaction support
104 - Execute particular procedures, not just SQL
105 - Ability to stream results as signals rather than in a single
106 message (allows interleaving results and larger sized result