Revision 37952
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/operations/arcview/ArcJoinDataSource.java | ||
---|---|---|
21 | 21 |
private int[] relation; |
22 | 22 |
private int linkFieldindex; |
23 | 23 |
public static String prefix = "j_"; |
24 |
private boolean bIsOpen = false; |
|
24 | 25 |
|
25 | 26 |
/** |
26 | 27 |
* DOCUMENT ME! |
... | ... | |
43 | 44 |
* @see com.hardcode.gdbms.engine.data.DataSource#start() |
44 | 45 |
*/ |
45 | 46 |
public void start() throws ReadDriverException { |
46 |
source.start(); |
|
47 |
linked.start(); |
|
47 |
// Fjp: Tenemos un problema cuando hacemos join con tablas de base de datos, ya que no podemos |
|
48 |
// estar abriendo y cerrando continuamente el datasource (muy lento, se cuelga gvSIG). |
|
49 |
// Lo correcto ser?a quitar de una vez el AUTOMATIC_DATASOURCE y dejarlo en MANUAL, pero mientras |
|
50 |
// tanto habr? que parchear esto, y tener las tablas de un join abiertas. |
|
51 |
// Creo que esto funciona porque al pedir valores ya hace cada tabla su start. |
|
52 |
// TODO: Comprobar que al hacer el stop no estamos otra vez con el mismo problema. Lo ideal ser?a |
|
53 |
// que no se cerrara y abriera el recordset cada vez que llamamos a getFieldValue, o getRecordCount, etc. |
|
54 |
if (bIsOpen == false) { |
|
55 |
source.start(); |
|
56 |
linked.start(); |
|
57 |
bIsOpen = true; |
|
58 |
} |
|
48 | 59 |
} |
49 | 60 |
|
50 | 61 |
/** |
51 | 62 |
* @see com.hardcode.gdbms.engine.data.DataSource#stop() |
52 | 63 |
*/ |
53 | 64 |
public void stop() throws ReadDriverException { |
54 |
source.stop(); |
|
55 |
linked.stop(); |
|
65 |
// source.stop();
|
|
66 |
// linked.stop();
|
|
56 | 67 |
} |
57 | 68 |
|
58 | 69 |
/** |
Also available in: Unified diff