</head>
<body id="page-content" onload="prettyPrint()">
<div class="api" id="::DataControl">
-<div class="supported-platforms"><img class="wearable-mandatory emulator" title="Mandatory, Supported by Tizen Wearable emulator" src="wearable_s_w.png"></div>
<div class="title"><h1>DataControl API</h1></div>
<div class="brief">
This specification defines a DataControl API for applications.
</p>
<h2>Table of Contents</h2>
<ul class="toc">
-<li>1. <a href="#typedefs-section">Type Definitions</a><ul class="toc"><li>1.1. <a href="#DataType">DataType</a>
+<li>1. <a href="#typedefs-section">Type Definitions</a><ul class="toc"><li>
+ 1.1. <a href="#DataType">DataType</a>
</li></ul>
</li>
<li>2. <a href="#interfaces-section">Interfaces</a><ul class="toc">
</tr>
<tr>
<td><a href="#DataControlManager">DataControlManager</a></td>
-<td>
-<a href="#DataControlConsumerObject">DataControlConsumerObject</a> <a href="#DataControlManager::getDataControlConsumer">getDataControlConsumer</a> (DOMString providerId, DOMString dataId, <a href="#DataType">DataType</a> type)</td>
+<td><div>
+<a href="#DataControlConsumerObject">DataControlConsumerObject</a> <a href="#DataControlManager::getDataControlConsumer">getDataControlConsumer</a> (DOMString providerId, DOMString dataId, <a href="#DataType">DataType</a> type)</div></td>
</tr>
<tr>
<td><a href="#DataControlConsumerObject">DataControlConsumerObject</a></td>
</tr>
<tr>
<td><a href="#SQLDataControlConsumer">SQLDataControlConsumer</a></td>
-<td>void <a href="#SQLDataControlConsumer::insert">insert</a> (unsigned long reqId, <a href="#RowData">RowData</a> insertionData, optional <a href="#DataControlInsertSuccessCallback">DataControlInsertSuccessCallback</a>? successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)<br>
- void <a href="#SQLDataControlConsumer::update">update</a> (unsigned long reqId, <a href="#RowData">RowData</a> updateData, DOMString where, optional <a href="#DataControlSuccessCallback">DataControlSuccessCallback</a>? successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)<br>
- void <a href="#SQLDataControlConsumer::remove">remove</a> (unsigned long reqId, DOMString where, optional <a href="#DataControlSuccessCallback">DataControlSuccessCallback</a>? successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)<br>
- void <a href="#SQLDataControlConsumer::select">select</a> (unsigned long reqId, DOMString[] columns, DOMString where, <a href="#DataControlSelectSuccessCallback">DataControlSelectSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback, optional unsigned long? page, optional unsigned long? maxNumberPerPage)</td>
+<td>
+<div>void <a href="#SQLDataControlConsumer::insert">insert</a> (unsigned long reqId, <a href="#RowData">RowData</a> insertionData, optional <a href="#DataControlInsertSuccessCallback">DataControlInsertSuccessCallback</a>? successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)</div>
+<div>void <a href="#SQLDataControlConsumer::update">update</a> (unsigned long reqId, <a href="#RowData">RowData</a> updateData, DOMString where, optional <a href="#DataControlSuccessCallback">DataControlSuccessCallback</a>? successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)</div>
+<div>void <a href="#SQLDataControlConsumer::remove">remove</a> (unsigned long reqId, DOMString where, optional <a href="#DataControlSuccessCallback">DataControlSuccessCallback</a>? successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)</div>
+<div>void <a href="#SQLDataControlConsumer::select">select</a> (unsigned long reqId, DOMString[] columns, DOMString where, <a href="#DataControlSelectSuccessCallback">DataControlSelectSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback, optional unsigned long? page, optional unsigned long? maxNumberPerPage, optional DOMString? order)</div>
+</td>
</tr>
<tr>
<td><a href="#MappedDataControlConsumer">MappedDataControlConsumer</a></td>
-<td>void <a href="#MappedDataControlConsumer::addValue">addValue</a> (unsigned long reqId, DOMString key, DOMString value, optional <a href="#DataControlSuccessCallback">DataControlSuccessCallback</a>? successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)<br>
- void <a href="#MappedDataControlConsumer::removeValue">removeValue</a> (unsigned long reqId, DOMString key, DOMString value, <a href="#DataControlSuccessCallback">DataControlSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)<br>
- void <a href="#MappedDataControlConsumer::getValue">getValue</a> (unsigned long reqId, DOMString key, <a href="#DataControlGetValueSuccessCallback">DataControlGetValueSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)<br>
- void <a href="#MappedDataControlConsumer::updateValue">updateValue</a> (unsigned long reqId, DOMString key, DOMString oldValue, DOMString newValue, <a href="#DataControlSuccessCallback">DataControlSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)</td>
+<td>
+<div>void <a href="#MappedDataControlConsumer::addValue">addValue</a> (unsigned long reqId, DOMString key, DOMString value, optional <a href="#DataControlSuccessCallback">DataControlSuccessCallback</a>? successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)</div>
+<div>void <a href="#MappedDataControlConsumer::removeValue">removeValue</a> (unsigned long reqId, DOMString key, DOMString value, <a href="#DataControlSuccessCallback">DataControlSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)</div>
+<div>void <a href="#MappedDataControlConsumer::getValue">getValue</a> (unsigned long reqId, DOMString key, <a href="#DataControlGetValueSuccessCallback">DataControlGetValueSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)</div>
+<div>void <a href="#MappedDataControlConsumer::updateValue">updateValue</a> (unsigned long reqId, DOMString key, DOMString oldValue, DOMString newValue, <a href="#DataControlSuccessCallback">DataControlSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback)</div>
+</td>
</tr>
<tr>
<td><a href="#DataControlSuccessCallback">DataControlSuccessCallback</a></td>
-<td>void <a href="#DataControlSuccessCallback::onsuccess">onsuccess</a> (unsigned long reqId)</td>
+<td><div>void <a href="#DataControlSuccessCallback::onsuccess">onsuccess</a> (unsigned long reqId)</div></td>
</tr>
<tr>
<td><a href="#DataControlErrorCallback">DataControlErrorCallback</a></td>
-<td>void <a href="#DataControlErrorCallback::onerror">onerror</a> (unsigned long reqId, <a href="tizen.html#WebAPIError">WebAPIError</a> error)</td>
+<td><div>void <a href="#DataControlErrorCallback::onerror">onerror</a> (unsigned long reqId, <a href="tizen.html#WebAPIError">WebAPIError</a> error)</div></td>
</tr>
<tr>
<td><a href="#DataControlInsertSuccessCallback">DataControlInsertSuccessCallback</a></td>
-<td>void <a href="#DataControlInsertSuccessCallback::onsuccess">onsuccess</a> (unsigned long reqId, long insertRowId)</td>
+<td><div>void <a href="#DataControlInsertSuccessCallback::onsuccess">onsuccess</a> (unsigned long reqId, long insertRowId)</div></td>
</tr>
<tr>
<td><a href="#DataControlSelectSuccessCallback">DataControlSelectSuccessCallback</a></td>
-<td>void <a href="#DataControlSelectSuccessCallback::onsuccess">onsuccess</a> (<a href="#RowData">RowData</a>[] rows, unsigned long reqId)</td>
+<td><div>void <a href="#DataControlSelectSuccessCallback::onsuccess">onsuccess</a> (<a href="#RowData">RowData</a>[] rows, unsigned long reqId)</div></td>
</tr>
<tr>
<td><a href="#DataControlGetValueSuccessCallback">DataControlGetValueSuccessCallback</a></td>
-<td>void <a href="#DataControlGetValueSuccessCallback::onsuccess">onsuccess</a> (DOMString[] values, unsigned long reqid)</td>
+<td><div>void <a href="#DataControlGetValueSuccessCallback::onsuccess">onsuccess</a> (DOMString[] values, unsigned long reqid)</div></td>
</tr>
<tr>
<td><a href="#RowData">RowData</a></td>
void select(unsigned long reqId, DOMString[] columns, DOMString where,
<a href="#DataControlSelectSuccessCallback">DataControlSelectSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback,
- optional unsigned long? page, optional unsigned long? maxNumberPerPage) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+ optional unsigned long? page, optional unsigned long? maxNumberPerPage, optional DOMString? order) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
};</pre>
<p><span class="version">
Since: </span>
</dt>
<dd>
<div class="brief">
- Selects the specified columns to be queried. The result set of the specified columns is retrieved from a table owned by an SQL-type data control provider.
+ Selects the specified columns to be queried. The result set of the specified columns is retrieved from a table owned by an SQL-type data control provider. If <em>page</em> and <em>maxNumberPerPage</em> parameters are not specified and result set contains more than 20 rows, only first 20 rows are included in the result.
</div>
-<div class="synopsis"><pre class="signature prettyprint">void select(unsigned long reqId, DOMString[] columns, DOMString where, <a href="#DataControlSelectSuccessCallback">DataControlSelectSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback, optional unsigned long? page, optional unsigned long? maxNumberPerPage);
+<div class="synopsis"><pre class="signature prettyprint">void select(unsigned long reqId, DOMString[] columns, DOMString where, <a href="#DataControlSelectSuccessCallback">DataControlSelectSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback, optional unsigned long? page, optional unsigned long? maxNumberPerPage, optional DOMString? order);
</pre></div>
<p><span class="version">
Since: </span>
</li>
<li class="param">
<span class="name">maxNumberPerPage</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
- The maximum number of rows on a page.
+ The maximum number of rows on a page. The maximum allowed value is equal to 1024.
+ </li>
+ <li class="param">
+<span class="name">order</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The sorting order of the selected rows. <br>It is an SQL <var>ORDER BY</var> clause excluding the <var>ORDER BY</var> itself such as <var>column1, column2 ASC</var>. If it is set to null, the order in which the rows are returned is undefined.
</li>
</ul>
</div>
<div class="example">
<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> function getValueSuccessCB(result, id)
{
+ console.log("getValueSuccessCB result.length: " + result.length);
var length = result.length;
for (var i = 0; i < length; i++)
{
+ var rowData = "| ";
var j = 0;
for (j = 0; j < result[i].columns.length; j++)
{
- console.log("column: " + result[i].columns[j] + ", value: " + result[i].values[j]);
+ rowData += "column: " + result[i].columns[j] + ", value: " + result[i].values[j] + " | ";
}
+ console.log(rowData);
}
}
-
function errorcb(id, error)
{
console.log("error id : " + id + ", error msg : " + error.message);
}
try {
- // Defines globalReqId before
+ // globalSQLConsumer and globalReqId should be defined before.
// Increases globalReqId for uniqueness
- var array = ["WORD", "WORD_DESC" ];
globalReqId++;
- globalSQLConsumer.select(globalReqId, array, "WORD='tizen1'", getValueSuccessCB, errorcb);
+ var columns = ["WORD", "WORD_DESC" ];
+ var whereClause = "1";
+ console.log("----- Calling for ascending order -----");
+ globalSQLConsumer.select(globalReqId, columns, whereClause, getValueSuccessCB, errorcb,
+ null, null, "WORD_DESC ASC");
+ setTimeout( function() {
+ console.log("----- Calling descending order -----");
+ globalSQLConsumer.select(globalReqId, columns, whereClause, getValueSuccessCB, errorcb,
+ null, null, "WORD_DESC DESC");
+ }, 1000);
}
catch (err) {
console.log (err.name +": " + err.message);
This interface provides a SuccessCallback for SQLDataControlConsumer.insert().
</div>
<pre class="webidl prettyprint"> [Callback=FunctionOnly, NoInterfaceObject] interface DataControlInsertSuccessCallback {
- void onsuccess(unsigned long reqId, long insertRowId);
+ void onsuccess(unsigned long reqId, long insertRowId);
};</pre>
<p><span class="version">
Since: </span>
void select(unsigned long reqId, DOMString[] columns, DOMString where,
<a href="#DataControlSelectSuccessCallback">DataControlSelectSuccessCallback</a> successCallback, optional <a href="#DataControlErrorCallback">DataControlErrorCallback</a>? errorCallback,
- optional unsigned long? page, optional unsigned long? maxNumberPerPage) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+ optional unsigned long? page, optional unsigned long? maxNumberPerPage, optional DOMString? order) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
};
[NoInterfaceObject] interface MappedDataControlConsumer : <a href="#DataControlConsumerObject">DataControlConsumerObject</a> {
};
[Callback=FunctionOnly, NoInterfaceObject] interface DataControlInsertSuccessCallback {
- void onsuccess(unsigned long reqId, long insertRowId);
+ void onsuccess(unsigned long reqId, long insertRowId);
};