![]() |
![]() |
![]() |
GNOME Data Access 4.0 manual | ![]() |
---|---|---|---|---|
Subclassing GdaDataSelectSubclassing GdaDataSelect — Base class for all the data models returned by DBMS providers when a SELECT statement is executed |
#include <providers-support/gda-data-select-priv.h> GdaDataSelectClass; void gda_data_select_take_row (GdaDataSelect *model, GdaRow *row, gint rownum); GdaRow* gda_data_select_get_stored_row (GdaDataSelect *model, gint rownum); GdaConnection* gda_data_select_get_connection (GdaDataSelect *model);
All database providers should subclass this class when returning a data model after the execution of a SELECT statement. Specifically it has the following features:
See the Virtual methods for recordsets section for more information about how to implement the virtual methods of the subclassed object.
This section documents the methods available for the database provider's implementations.
typedef struct { GObjectClass parent_class; /* GDA_DATA_MODEL_ACCESS_RANDOM */ gint (*fetch_nb_rows) (GdaDataSelect *model); gboolean (*fetch_random) (GdaDataSelect *model, GdaRow **prow, gint rownum, GError **error); gboolean (*store_all) (GdaDataSelect *model, GError **error); /* GDA_STATEMENT_MODEL_CURSOR_* */ gboolean (*fetch_next) (GdaDataSelect *model, GdaRow **prow, gint rownum, GError **error); gboolean (*fetch_prev) (GdaDataSelect *model, GdaRow **prow, gint rownum, GError **error); gboolean (*fetch_at) (GdaDataSelect *model, GdaRow **prow, gint rownum, GError **error); } GdaDataSelectClass;
GObjectClass |
parent object class |
|
virtual method which must be implemented when access method is GDA_DATA_MODEL_ACCESS_RANDOM |
|
virtual method which must be implemented when access method is GDA_DATA_MODEL_ACCESS_RANDOM |
|
|
|
virtual method which must be implemented when access method is GDA_DATA_MODEL_ACCESS_CURSOR_FORWARD |
|
virtual method which must be implemented when access method is GDA_DATA_MODEL_ACCESS_CURSOR_BACKWARD |
|
virtual method which can be implemented when access method is GDA_DATA_MODEL_ACCESS_CURSOR_FORWARD or GDA_DATA_MODEL_ACCESS_CURSOR_BACKWARD |
void gda_data_select_take_row (GdaDataSelect *model, GdaRow *row, gint rownum);
Stores row
into model
, externally advertized at row number rownum
(if no row has been removed).
The reference to row
is stolen.
|
a GdaDataSelect data model |
|
a GdaRow row |
|
"external" advertized row number |
GdaRow* gda_data_select_get_stored_row (GdaDataSelect *model, gint rownum);
Get the GdaRow object stored within model
at row rownum
(without taking care of removed rows)
|
a GdaDataSelect data model |
|
"external" advertized row number |
Returns : |
the requested GdaRow, or NULL if not found
|
GdaConnection* gda_data_select_get_connection (GdaDataSelect *model);
Get a pointer to the GdaConnection object which was used when model
was created
(and which may be used internally by model
).
|
a GdaDataSelect data model |
Returns : |
a pointer to the GdaConnection, or NULL
|