fixes_sql_creation_of_sql_direct.patch
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)); |