2006/1/26, Bas Driessen <[EMAIL PROTECTED]>: [...] > > 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;
}
_______________________________________________ gnome-db-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-db-list
