| GNOME Data Access 5 manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Implemented Interfaces | ||||
struct GdaVconnectionHub; void (*GdaVConnectionHubFunc) (GdaConnection *cnc,const gchar *ns,gpointer data); gboolean gda_vconnection_hub_add (GdaVconnectionHub *hub,GdaConnection *cnc,const gchar *ns,GError **error); gboolean gda_vconnection_hub_remove (GdaVconnectionHub *hub,GdaConnection *cnc,GError **error); GdaConnection * gda_vconnection_hub_get_connection (GdaVconnectionHub *hub,const gchar *ns); void gda_vconnection_hub_foreach (GdaVconnectionHub *hub,GdaVConnectionHubFunc func,gpointer data);
GObject +----GdaConnection +----GdaVirtualConnection +----GdaVconnectionDataModel +----GdaVconnectionHub
The GdaVconnectionHub object "binds" together the tables from other (opened) connections to make it possible to run SQL queries on data from several connections at once.
A GdaVconnectionHub connection can bind several other connections, each separated in its own namespace (which is specified
when adding a connection using gda_vconnection_hub_add()).
For example if a connection A has two tables 'table_1' and 'table_2', then after gda_vconnection_hub_add() has been called
with A as connection argument and with a "c1" namespace, then in the corresponding GdaVconnectionHub connection, table
'table_1' must be referred to as 'c1.table_1' and 'table_2' must be referred to as 'c1.table_2'.
void (*GdaVConnectionHubFunc) (GdaConnection *cnc,const gchar *ns,gpointer data);
gboolean gda_vconnection_hub_add (GdaVconnectionHub *hub,GdaConnection *cnc,const gchar *ns,GError **error);
Make all the tables of cnc appear as tables (of the same name) in the hub connection.
If the ns is not NULL, then within hub, the tables will be accessible using the 'ns.table_name'
notation.
Within any instance of hub, there can be only one added connection where ns is NULL.
|
a GdaVconnectionHub connection |
|
a GdaConnection |
|
a namespace, or NULL. [allow-none]
|
|
a place to store errors, or NULL
|
Returns : |
TRUE if no error occurred |
gboolean gda_vconnection_hub_remove (GdaVconnectionHub *hub,GdaConnection *cnc,GError **error);
Remove all the tables in hub representing cnc's tables.
|
a GdaVconnectionHub connection |
|
a GdaConnection |
|
a place to store errors, or NULL
|
Returns : |
TRUE if no error occurred |
GdaConnection * gda_vconnection_hub_get_connection (GdaVconnectionHub *hub,const gchar *ns);
Find the GdaConnection object in hub associated to the ns name space
|
a GdaVconnectionHub connection |
|
a name space, or NULL. [allow-none]
|
Returns : |
the GdaConnection, or NULL if no connection is associated to ns
|
void gda_vconnection_hub_foreach (GdaVconnectionHub *hub,GdaVConnectionHubFunc func,gpointer data);
Call func for each GdaConnection represented in hub.
|
a GdaVconnectionHub connection |
|
a GdaVconnectionDataModelFunc function pointer |
|
data to pass to func calls |