Skip to content

Commit 91884fe

Browse files
committed
edit
1 parent 9419996 commit 91884fe

File tree

6 files changed

+37
-16
lines changed

6 files changed

+37
-16
lines changed

src/main/java/org/usf/jquery/core/KeyValueMapper.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@ public final class KeyValueMapper implements ResultSetMapper<List<DynamicModel>>
2020
@Override
2121
public List<DynamicModel> map(ResultSet rs) throws SQLException {
2222
log.trace("mapping results...");
23-
var bg = currentTimeMillis();
24-
var results = new LinkedList<DynamicModel>();
25-
var columnNames = declaredColumns(rs);
23+
var t = currentTimeMillis();
24+
var res = new LinkedList<DynamicModel>();
25+
var cols = declaredColumns(rs);
2626
while(rs.next()) {
27-
var model = new DynamicModel();
28-
for(var i=0; i<columnNames.length; i++) {
29-
model.put(columnNames[i], rs.getObject(i+1));
27+
var m = new DynamicModel();
28+
for(var i=0; i<cols.length; i++) {
29+
m.put(cols[i], rs.getObject(i+1));
3030
}
31-
results.add(model);
31+
res.add(m);
3232
}
33-
log.trace("{} rows mapped in {} ms", results.size(), currentTimeMillis() - bg);
34-
return results;
33+
log.trace("{} rows mapped in {} ms", res.size(), currentTimeMillis()-t);
34+
return res;
3535
}
3636
}

src/main/java/org/usf/jquery/core/QueryParameterBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ public QueryParameterBuilder withValue() {
141141
return new QueryParameterBuilder(schema, vPrefix, null, null, views, overView);
142142
}
143143

144-
public QueryParameterBuilder subQuery() {
145-
return new QueryParameterBuilder(schema, vPrefix + "_s", args, argTypes, new ArrayList<>(), emptyMap());
144+
public QueryParameterBuilder subQuery(Map<DBView, ? extends DBView> overView) {
145+
return new QueryParameterBuilder(schema, vPrefix + "_s", args, argTypes, new ArrayList<>(), unmodifiableMap(overView));
146146
}
147147

148148
public static QueryParameterBuilder addWithValue() {

src/main/java/org/usf/jquery/core/QueryView.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public final class QueryView implements DBView {
2020
@Override
2121
public String sql(QueryParameterBuilder param) {
2222
var s = new SqlStringBuilder(100).append("(");
23-
builder.build(s, param.subQuery());
23+
builder.build(s, param.subQuery(builder.getOverView()));
2424
return s.append(")").toString();
2525
}
2626

src/main/java/org/usf/jquery/core/RequestQuery.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public final class RequestQuery {
3434
public List<DynamicModel> execute(DataSource ds) throws SQLException {
3535
return execute(ds, new KeyValueMapper());
3636
}
37-
37+
3838
public <T> T execute(DataSource ds, ResultSetMapper<T> mapper) throws SQLException { // overload with sql types
3939
try(var cn = ds.getConnection()){
4040
return execute(cn, mapper);
@@ -43,8 +43,8 @@ public <T> T execute(DataSource ds, ResultSetMapper<T> mapper) throws SQLExcepti
4343

4444
public <T> T execute(Connection cn, ResultSetMapper<T> mapper) throws SQLException {
4545
log.debug("preparing statement : {}", query);
46+
log.debug("using arguments : {}", Arrays.toString(args)); //before prepare
4647
try(var ps = cn.prepareStatement(query)){
47-
log.debug("with parameters : {}", Arrays.toString(args));
4848
if(!isEmpty(args)) {
4949
for(var i=0; i<args.length; i++) {
5050
if(isNull(args[i])) {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.usf.jquery.core;
2+
3+
import java.sql.ResultSet;
4+
import java.sql.SQLException;
5+
6+
/**
7+
*
8+
* @author u$f
9+
*
10+
*/
11+
@FunctionalInterface
12+
public interface ResultSetConsumer extends ResultSetMapper<Void> {
13+
14+
void fetch(ResultSet rs) throws SQLException;
15+
16+
@Override
17+
default Void map(ResultSet rs) throws SQLException {
18+
this.fetch(rs);
19+
return null;
20+
}
21+
}

src/main/java/org/usf/jquery/web/ViewMetadata.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import org.usf.jquery.core.DBView;
2323
import org.usf.jquery.core.RequestQueryBuilder;
24+
import org.usf.jquery.core.ResultSetConsumer;
2425
import org.usf.jquery.core.TableView;
2526

2627
import lombok.AccessLevel;
@@ -101,7 +102,7 @@ void fetchView(DatabaseMetaData metadata, TableView view, String schema) throws
101102

102103
void fetch(DatabaseMetaData metadata, DBView qr, String schema) throws SQLException {
103104
var query = new RequestQueryBuilder().columns(allColumns(qr)).filters(constant(1).eq(constant(0))); //no data
104-
query.build(schema).execute(metadata.getConnection(), rs->{
105+
query.build(schema).execute(metadata.getConnection(), (ResultSetConsumer) rs->{
105106
var db = reverseMapKeys();
106107
var meta = rs.getMetaData();
107108
for(var i=1; i<=meta.getColumnCount(); i++) {
@@ -113,7 +114,6 @@ void fetch(DatabaseMetaData metadata, DBView qr, String schema) throws SQLExcept
113114
if(!db.isEmpty()) { //no such columns
114115
throw columnsNotFoundException(db.keySet());
115116
}
116-
return null;
117117
});
118118
}
119119

0 commit comments

Comments
 (0)