|GNOME Data Access manual|
Here is the list of methods that you have to override. If you use GdaDataModelHash(3), you don't need to override append_row.
Returns the number of rows in the data model. If the provider can know in advance the number of rows the database server has returned, this function should just return that, and not retrieve any data. On the other hand, if it can't it should either retrieve all data, or move to the last record in the recordset and retrieve the row number, if the underlying data source allows it.
Returns the number of columns in the data model.
Returns information about a given column, in the form of a GdaFieldAttributes.
Retrieves a row from the data model. This function is very important for the implementation of editable data models. What this function returns is a GdaRow">GdaRow, which providers should uniquely identify (via gda_row_set_id). This is needed so that later on, client applications can use the same GdaRow returned by this method in the update_row and remove_row methods.
Returns the value stored in a given cell of the data model.
Checks whether the data model can be modified or not. If the provider supports the edition of data models, it should return TRUE in this function. If it doesn't (for instance, because it can't uniquely identify rows in the data model), it should return FALSE.
Before a data model can be edited, client applications must call the gda_data_model_begin_edit function, which emits the "begin_edit" signal on the GdaDataModel class. So, providers should connect to this signal to be informed when the data model starts being editing. In the callback connected to that signal, it should start a transaction, for instance.
In a similar way, there are 2 other signals that provider's data model implementations should pay attention to. Those are "end_edit" and "cancel_edit". In "end_edit", if all went ok, providers should COMMIT the transaction started in "begin_edit". In "cancel_edit", a ROLLBACK should be made.
Appends a row to the data model. Usually, this means, in the provider, executing an INSERT SQL command on the table being read by the data model.
Updates an existing row in the data model. The row should have been uniquely identified in the provider code, as explained for the get_row method.
Removes a row from the data model. Usually, this means, in the provider, executing a DELETE SQL command on the table being read by the data model. The row should have been uniquely identified in the provider code, as explained for the get_row method.
|<<< The GdaServerProvider class||GdaServerProvider >>>|