fixes_sql_creation_of_sql_direct.patch

Jose Manuel Vivó Arnal, 11/07/2013 09:35 AM

Download (1.74 KB)

View differences:

src/org/gvsig/fmap/dal/store/jdbc/JDBCHelper.java
483 483
					
484 484
					loadFeatureType(conn, featureType, sql, pks, storeParams
485 485
							.getDefaultGeometryField(), schema, table);
486
					if (storeParams.getCRS()!=null){
486
					if (storeParams.getCRS()!=null && ((EditableFeatureAttributeDescriptor)featureType.getDefaultGeometryAttribute()) != null){
487 487
						((EditableFeatureAttributeDescriptor)featureType.getDefaultGeometryAttribute()).setSRS(storeParams.getCRS());
488 488
					}
489 489
					
src/org/gvsig/fmap/dal/store/jdbc/JDBCStoreProvider.java
797 797
			long limit, long offset) throws DataException {
798 798
		StringBuilder sql = new StringBuilder();
799 799
		JDBCStoreParameters params = getJDBCParameters();
800
		if (directSQLMode) {
801
			sql.append(params.getSQL());
802
			sql.append(' ');
803
		} else {
804 800
			FeatureAttributeDescriptor[] fields = type
805 801
					.getAttributeDescriptors();
806 802

  
......
837 833

  
838 834
			// table
839 835
			sql.append("from ");
840
			sql.append(params.tableID());
836
			if (directSQLMode) {
837
			    sql.append(" (");
838
			    sql.append(params.getSQL());
839
	                    sql.append(") as _subquery_alias_ ");
840
			} else {
841
			    sql.append(params.tableID());
842
			}
841 843
			sql.append(' ');
842 844

  
843 845
			// Where
......
858 860
				}
859 861
				sql.append(' ');
860 862
			}
861
		}
862 863
		// limit offset
863 864
		if (limit > 0 || offset > 0) {
864 865
			sql.append(helper.compoundLimitAndOffset(limit,offset));