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



On Wed, 2003-10-29 at 19:58, Paisa Seeluangsawat wrote:
> > > If anything changes a datamodel...
> > > 
> > >   - through gda_data_model_*(), it doesn't have to (and shouldn't)
> > >     emit "row-inserted" signals, set command text/row number/id,
> > >     etc.,.  That's the provider's job.
> > > 
> > >   - not through gda_data_model*(), that 'anything' is a provider.
> > > 
> > any data model implementation will need to use those functions. Data
> > models are not only for providers. They can be created, if wanted, byan
> > application using libgda. So these functions, as they are part of the
> > data model API, they have to be there.
> 
> I think we have a terminology mismatch here.  My meaning of provider
> is "anything that manage the underlying data."
>
yes, but data models can be implemented by anything, not only by
providers.

>   It can be SQL, XML, or
> even a user's program.  Your example of program managing a DataModel
> qualifies as my "provider", and that program should just #include
> provider headers.  If you let me know what terminology you used for
> this, I'll use your.
> 
a program could want to create its own data-model-based class, for
instance. In that case, that program, which is not a provider, will need
to access those functions.

> 
> > > These functions are still public to end users, I just hope they are in
> > > a separate header files (and doc sections) so end users who don't use
> > > them (most of them) don't have to care about these functions.
> > > 
> > they dont have to care. Each class has a set of public methods, all of
> > them are in the header file. Users can use the ones they want, they are
> > not forced to use them. But still, since other users might need them,
> > they need to be easily accessible.
> 
> They shouldn't have to look for functions that they can use among
> functions that they are not supposed to use.  It's inconvenient.  For
> new users, it's even confusing.
>
they can use them, if they are implementing a data model.

cheers




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