Re: [gnome-db] gda_connection_execute_command() result
- From: Murray Cumming <murrayc murrayc com>
- To: Vivien Malerba <vmalerba gmail com>
- Cc: gnome-db-list gnome org
- Subject: Re: [gnome-db] gda_connection_execute_command() result
- Date: Sat, 21 Oct 2006 15:54:23 +0200
On Sat, 2006-10-21 at 15:45 +0200, Vivien Malerba wrote:
> On 10/21/06, Murray Cumming <murrayc murrayc com> wrote:
> > The documentation for gda_connection_execute_command (pasted below) is
> > not clear to me, particularly
> >
> > "The return value is a GList of #GdaDataModel's, and #GdaParameterList".
> >
> > This seems to mean that the GList* contains some GdaDataModels and some
> > GdaParameterLists. If so, what's the sequence or way to identify each
> > element? And what would the GdaParameterList items tell me? Where is
> > this demonstrated in example code?
>
> You understood correctly. The returned list can hold pointers to
> GdaDataModel or GdaParameterList objects, in the same list.
> Identifying them is easily done using GObject's introspection features
> such as GDA_IS_DATA_MODEL() or GDA_IS_PARAMETER_LIST().
OK. This needs to be mentioned in the documentation.
Also, is there ever >1 GdaDataModel or GdaParameterList in that GList?
Does it ever contain both? It would be nice to know what to expect, and
why/when.
> A GdaDataModel is returned in the list whenever the SQL was a SELECT
> query (or a query returning a data set), and a GdaParameterList is
> returned whenever the query was something else.
>
> What the GdaParameterList contains is a list of named values which are
> described in gda_server_provider_execute_command(), the most usefull
> one (and only supported at the moment if I remember) being named
> "IMPACTED_ROWS" which contains the number of rows impacted by the
> query.
>
> Note that if you know that the command contains a SELECT query, then
> you'd better use gda_connection_execute_select_command() and if you
> know that the command is not as SELECT query, then you should use
> gda_connection_execute_non_select_command().
> These two functions are wrapper around the first one and make things
> easier to use.
>
> >
> > Please note also that, because it's so odd to have 2 types of element in
> > a GList, people are likely to interpret this text as just meaning that
> > the params parameter is an output parameter. That guess would be
> > reinforced by the missing const for that parameter.
> >
>
> I know it can seem a bit strange but is it worth creating overhead
> with a structure such as
> struct {
> gboolean this_is_a_data_model;
> union {
> GdaDataModel *model;
> GdaParameterList *plist;
> } data;
> }
> and returning a list of these structures.
How about either
- returning two GLists.
or
- Making this function private and just having a execute method for
select and an execute method for parameters?
--
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]