| Top |  |  |  |  | 
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.
| hub | a GdaVconnectionHub connection | |
| cnc | ||
| ns | a namespace, or  | [allow-none] | 
| error | a place to store errors, or  | 
gboolean gda_vconnection_hub_remove (GdaVconnectionHub *hub,GdaConnection *cnc,GError **error);
Remove all the tables in hub
 representing cnc
's tables.
GdaConnection * gda_vconnection_hub_get_connection (GdaVconnectionHub *hub,const gchar *ns);
Find the GdaConnection object in hub
 associated to the ns
 name space
void gda_vconnection_hub_foreach (GdaVconnectionHub *hub,GdaVConnectionHubFunc func,gpointer data);
Call func
 for each GdaConnection represented in hub
.
| hub | a GdaVconnectionHub connection | |
| func | a GdaVconnectionDataModelFunc function pointer | |
| data | data to pass to  |