Revision 47788 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/expressionevaluator/impl/function/dataaccess/SelectFunction.java
SelectFunction.java | ||
---|---|---|
417 | 417 |
table.schema(builderTable.getSchema()); |
418 | 418 |
} |
419 | 419 |
String tableName = table.getName(); |
420 |
FeatureType featureType; |
|
420 |
FeatureType featureType = null;
|
|
421 | 421 |
if (StringUtils.equalsIgnoreCase(builderTableName, tableName)) { |
422 | 422 |
featureType = (FeatureType) builder.getProperty(SQLBuilder.PROP_FEATURE_TYPE); |
423 |
} else { |
|
423 |
} |
|
424 |
if(featureType == null) { |
|
424 | 425 |
DataManager dataManager = DALLocator.getDataManager(); |
425 | 426 |
featureType = dataManager.getStoresRepository().getFeatureType(tableName); |
426 | 427 |
} |
... | ... | |
438 | 439 |
select.column().value(builder.constant(null)); |
439 | 440 |
} else if (column instanceof Code.Identifier) { |
440 | 441 |
String columnName = ((Code.Identifier) column).name(); |
441 |
// if(featureType == null) { |
|
442 |
// if(StringUtils.equalsIgnoreCase(builderTableName, tableName)){ |
|
443 |
// featureType = (FeatureType) builder.getProperty(SQLBuilder.PROP_FEATURE_TYPE); |
|
444 |
// } else { |
|
445 |
// featureType = featureTypeSupplier.apply(tableName); |
|
446 |
// } |
|
447 |
// } |
|
448 |
// if(featureType == null){ |
|
442 |
if(table.featureType()== null || table.featureType().get(columnName)!=null){ |
|
449 | 443 |
select.column().name(table,columnName); |
450 |
// } else if(featureType.get(columnName) != null) { |
|
451 |
// select.column().name(table,columnName); |
|
452 |
// } else { |
|
453 |
// select.column().name(columnName).table(null); |
|
454 |
// } |
|
444 |
} else { |
|
445 |
select.column().name(null, columnName); |
|
446 |
} |
|
455 | 447 |
} else { |
456 | 448 |
select.column().value(setTableName(table, column.toValue(builder))); |
457 | 449 |
} |
... | ... | |
527 | 519 |
SQLBuilder.Column c = (SQLBuilder.Column) value; |
528 | 520 |
SQLBuilder.TableNameBuilder t = c.table(); |
529 | 521 |
if( t==null ) { |
530 |
if( table.featureType().get(c.name())!=null ) { |
|
522 |
if( table.featureType()== null || table.featureType().get(c.name())!=null ) {
|
|
531 | 523 |
c.table(table); |
532 | 524 |
} |
533 | 525 |
return; |
Also available in: Unified diff