Revision 44198 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.jdbc/src/main/java/org/gvsig/fmap/dal/store/jdbc2/spi/operations/TableIsEmptyOperation.java
TableIsEmptyOperation.java | ||
---|---|---|
5 | 5 |
import java.sql.SQLException; |
6 | 6 |
import java.sql.Statement; |
7 | 7 |
import org.apache.commons.lang3.StringUtils; |
8 |
import org.gvsig.expressionevaluator.ExpressionBuilder; |
|
8 | 9 |
import org.gvsig.fmap.dal.exception.DataException; |
9 | 10 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper; |
10 | 11 |
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase; |
11 | 12 |
import org.gvsig.fmap.dal.store.jdbc.exception.JDBCSQLException; |
12 | 13 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCUtils; |
13 | 14 |
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference; |
15 |
import static org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase.PROP_FEATURE_TYPE; |
|
16 |
import static org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase.PROP_TABLE; |
|
14 | 17 |
|
15 | 18 |
public class TableIsEmptyOperation extends AbstractConnectionOperation { |
16 | 19 |
|
... | ... | |
48 | 51 |
) throws DataException { |
49 | 52 |
|
50 | 53 |
JDBCSQLBuilderBase sqlbuilder = this.createSQLBuilder(); |
51 |
|
|
54 |
ExpressionBuilder expbuilder = sqlbuilder.expression(); |
|
55 |
|
|
52 | 56 |
sqlbuilder.select().column().all(); |
53 | 57 |
sqlbuilder.select().from().table() |
54 | 58 |
.database(this.table.getDatabase()) |
... | ... | |
56 | 60 |
.name(this.table.getTable()); |
57 | 61 |
sqlbuilder.select().from().subquery(this.table.getSubquery()); |
58 | 62 |
if (!StringUtils.isEmpty(baseFilter)) { |
59 |
sqlbuilder.select().where().set( sqlbuilder.custom(baseFilter) );
|
|
63 |
sqlbuilder.select().where().set( expbuilder.custom(baseFilter) );
|
|
60 | 64 |
} |
61 | 65 |
if (!StringUtils.isEmpty(filter)) { |
62 | 66 |
// El and() hace un set() si no hay un filtro previo |
63 |
sqlbuilder.select().where().and(sqlbuilder.custom(filter));
|
|
67 |
sqlbuilder.select().where().and(expbuilder.custom(filter));
|
|
64 | 68 |
} |
65 | 69 |
sqlbuilder.select().limit(1); |
66 |
|
|
70 |
sqlbuilder.setProperties( |
|
71 |
ExpressionBuilder.Variable.class, |
|
72 |
PROP_TABLE, table |
|
73 |
); |
|
67 | 74 |
String sql = sqlbuilder.select().toString(); |
68 | 75 |
|
69 | 76 |
Statement st = null; |
Also available in: Unified diff