Fix several problems with Decimal value translation in WvDbi/versaplexd.
[versaplex.git] / api.xml
blob66c39035137c2ab278e0cacb55f8a6e46e28e834
1 <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
2 <node name="/db">
3     <interface name="vx.db">
4         <method name="ExecNoResult">
5             <arg name="query" type="s" direction="in"/>
6         </method>
8         <method name="ExecScalar">
9             <arg name="query" type="s" direction="in"/>
10             <arg name="result" type="v" direction="out"/>
11         </method>
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:
17                 int32 column size
18                 string column name
19                 string column type
20                 int16 numeric precision
21                 int16 numeric scale
22                 uint8 nullability
23                     - a bitfield, with only one bit currently defined,
24                       0x1 = is nullable
25             -->
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 -->
31         </method>
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.
43             -->
44             <arg name="colinfo" type="a(issnny)" direction="out"/>
45             <!-- Returned data is:
46                 int32 column size
47                 string column name
48                 string column type
49                 int16 numeric precision
50                 int16 numeric scale
51                 uint8 nullability
52                     - a bitfield, with only one bit currently defined,
53                       0x1 = is nullable
54             -->
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 -->
60         </method>
61         <signal name="ChunkRecordsetSig">
62             <arg name="colinfo" type="a(issnny)"/>
63             <!-- Returned data is:
64                 int32 column size
65                 string column name
66                 string column type
67                 int16 numeric precision
68                 int16 numeric scale
69                 uint8 nullability
70                     - a bitfield, with only one bit currently defined,
71                       0x1 = is nullable
72             -->
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 -->
80         </signal>
81         <method name="Test">
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"/>
85         </method>
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
100         -->
102         <!-- Future:
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
107                sets)
108         -->
109     </interface>
110 </node>