Re: [gnome-db] Minor API change and MySQL [update/delete]_row



On Thu, 2003-11-13 at 05:48, Paisa Seeluangsawat wrote:
> Sorry for the disappearance.  Got a pretty bad flu :-P.
> 
oh, I hope you're ok now

> Rodrigo, please help answer these two questions.  Question 2 was asked
> in my previous e-mail, but hasn't been answered.
> 
> 
> 1) What exactly are the differences between these two set of
>    functions.
> 
>          gda_connection_[begin|rollback|end]_transaction
>    and   gda_model_[begin|cancel|end]_edit
> 
the difference is semantic. with the gda_connection_ functions, you are
explicitly using transactions, with the gda_data_model_, you are just
saying you are going to edit a number of rows, and the provider in that
case, can do whatever it wants, either use a transaction or not.

I know it seems a bit confusing, but the problem is that if we dont have
the gda_data_model_* functions, we are establishing that providers that
dont support transactions can't do batch updates, since every change is
immediately sent to the underlying data source.

So, I think we should either:
* provide the gda_data_model_ functions so that providers manage the
updates as it best fits them.
* make all providers simulate transactions one way or the other
* have providers not supporting transactions not support batch updates
at all.

So, what do you think is best?

>    Specifically, what command(s) (give C-API or SQL) should be sent to
>    the server on these calls.
> 
> 
> 2) What is supposed to happen to (local and server) data when a user
>    opens models A and B in the same connection, edit A and B, then
>    _model_cancel_edit(A), _model_end_edit(B)?
> 
depends on the provider I guess. For postgres, we might use nested
transactions, for others, whatever it needs, etc.

cheers





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]