Re: [gnome-db] update_row not implemented in GdaDataModelHash



On Thu, 2007-03-01 at 16:27 +0100, Vivien Malerba wrote:
> On 3/1/07, Armin Burgmeier <armin arbur net> wrote:
> > Vivien Malerba wrote:
> > > However I doubt it will be very usefull: the data returned from a
> > > SELECT command can now be edited (in most if not all the cases since
> > > the provider's own implementations of the returned data model inherits
> > > GdaDataModelHash) but it won't actually write back the modifications
> > > to the database for the simple reason that in most cases it won't know
> > > what to write, so the modified data cannot be used (except in some are
> > > cases).
> >
> > I am fully aware of this (although other providers seem to have code to
> > write data back to the database, but I have not tested it).
> 
> I'm aware of that feature and I don't like it as it's not clear when a
> returned data model is updatable and when it's not. However it could
> be improved as the GdaDataModel interface has a i_get_attributes_at()
> virtual method which allows actual implementations to return the
> "writability" of a specific value (which is used extensively in the
> GdaDataModelQuery object). So a good work would be to update the
> various providers' GdaDataModel implementations to return very
> accurate values for this method.
> 
> >
> > Thing is that the GnomeDbGrid (and probably the form, too) already allow
> > modifications to the data even without this patch (this actually was why
> > I thought it should work), but fails when hitting the commit button.
> > Perhaps, an easier and more correct solution is to override is_updatable
> > in GdaSqliteRecordset and/or setting the read-only property to TRUE, so
> > that the GnomeDbGrid does just not allow editing the data.
> 
> Yes, or even better implement correctly the i_get_attributes_at()
> virtual method.
> 
> >
> > > What I believe is better is to create a GdaDataModelQuery data model
> > > for which you'll give a SELECT query, and optionnally INSERT, UPDATE
> > > or DELETE queries so it knows how to actually write the data you
> > > modify back to the database.
> >
> > This technique is already used in the more advanced examples. I just
> > want to show something working with libgnomedb with as less code as
> > possible.

Vivien, I'm not following the details of this much, but could you add
something to the bug report, please. If possible, could you accept or
reject the current patch?

http://bugzilla.gnome.org/show_bug.cgi?id=413258

-- 
Murray Cumming
murrayc murrayc com
www.murrayc.com
www.openismus.com




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