Re: [gnome-db] append row to data model.
- From: Bas Driessen <bas driessen xobas com>
- To: Vivien Malerba <vmalerba gmail com>
- Cc: GNOME-DB List <gnome-db-list gnome org>
- Subject: Re: [gnome-db] append row to data model.
- Date: Thu, 26 Jan 2006 20:06:41 +1000
On Thu, 2006-01-26 at 19:55 +1000, Bas Driessen wrote:
On Thu, 2006-01-26 at 10:49 +0100, Vivien Malerba wrote:
2006/1/26, Bas Driessen <bas driessen xobas com>:
[...]
>
> I agree with the concept to address this issue, but I don't believe this
> code above will work OK. If I append a row with values to the datamodel, it
> returns the line number of the new row and it exits. At that point I also
> want to append it to the database. In the code above, you try to add the row
> to the database if appending to the datamodel fails, but that is the other
> way around if I read it correctly. I will do a some testing.
Calling the gda_data_model_row_append_values() will (because the
GdaPostgresRecordset object does not implement the GdaDataModelRow's
append_value() virtual function):
* create a new GdaRow object initialized with the correct values
* call the GdaDataModelRow's append_row() virtual function which is
defined in gda-postgres-recordset.c:208, and will do the job.
* return the row number of the new row.
Tell me if it works
If I change the gda_data_model_row_append_values as below, it works OK. I just tested it.
static gint
gda_data_model_row_append_values (GdaDataModel *model, const GList *values, GError **error)
{
GdaRow *row;
g_return_val_if_fail (GDA_IS_DATA_MODEL_ROW (model), -1);
g_return_val_if_fail (CLASS (model)->append_values != NULL, -1);
row = CLASS (model)->append_values (GDA_DATA_MODEL_ROW (model), values, error);
if (row)
{
CLASS (model)->append_row (GDA_DATA_MODEL_ROW (model), row, error);
return gda_row_get_number (row);
}
else
return -1;
}
Well ... it works OK in the database, but it is adding the row twice now in the datamodel.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]