Revision 37952 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/operations/arcview/ArcJoinDataSource.java

View differences:

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