Skip to content

Commit 778949c

Browse files
GitHub Issue 1188: Stop JDBC caching by default in QueryService (#1019)
1 parent a4bf6c4 commit 778949c

9 files changed

Lines changed: 22 additions & 23 deletions

File tree

flow/src/org/labkey/flow/persist/FlowManager.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,20 +1400,20 @@ public Map<String, Object> getUsageMetrics(User user, Container c, boolean inclu
14001400
// get the count of analysis folders
14011401
public int getAnalysisFolderCount(FlowSchema schema)
14021402
{
1403-
return QueryService.get().selector(schema, "SELECT COUNT(*) FROM " + FlowSchema.SCHEMANAME + "." + FlowTableType.Analyses.name()).getObject(Long.class).intValue();
1403+
return QueryService.get().getSelectBuilder(schema, "SELECT COUNT(*) FROM " + FlowSchema.SCHEMANAME + "." + FlowTableType.Analyses.name()).buildSqlSelector().getObject(Long.class).intValue();
14041404
}
14051405

14061406
// get the count of analysis scripts
14071407
public int getAnalysisScriptCount(FlowSchema schema)
14081408
{
1409-
return QueryService.get().selector(schema, "SELECT COUNT(*) FROM " + FlowSchema.SCHEMANAME + "." + FlowTableType.AnalysisScripts.name()).getObject(Long.class).intValue();
1409+
return QueryService.get().getSelectBuilder(schema, "SELECT COUNT(*) FROM " + FlowSchema.SCHEMANAME + "." + FlowTableType.AnalysisScripts.name()).buildSqlSelector().getObject(Long.class).intValue();
14101410
}
14111411

14121412
// get the count of samples in the sample set
14131413
public int getSampleCount(Container c, User user, ExpSampleType st)
14141414
{
14151415
UserSchema schema = QueryService.get().getUserSchema(user, c, SamplesSchema.SCHEMA_SAMPLES);
1416-
return QueryService.get().selector(schema, "SELECT COUNT(*) FROM samples." + st.getName()).getObject(Long.class).intValue();
1416+
return QueryService.get().getSelectBuilder(schema, "SELECT COUNT(*) FROM samples." + st.getName()).buildSqlSelector().getObject(Long.class).intValue();
14171417
}
14181418

14191419
public int getTempTableCount()
@@ -1494,56 +1494,56 @@ public Map<String, Object> removeRowNum(Map<String, Object> row)
14941494
// count of runs created from an Analysis Script
14951495
public Map<String, Object> getAnalysisScriptRunCount(FlowSchema schema)
14961496
{
1497-
return removeRowNum(QueryService.get().selector(schema, """
1497+
return removeRowNum(QueryService.get().getSelectBuilder(schema, """
14981498
SELECT
14991499
COUNT(*) AS RunCount,
15001500
MAX(Created) AS CreatedMax,
15011501
SUM(FCSAnalysisCount) AS FCSAnalysisCount,
15021502
SUM(CompensationControlCount) AS CompControlCount,
15031503
SUM(FCSFileCount) AS FCSFileCount
15041504
FROM flow.Runs
1505-
WHERE AnalysisScript IS NOT NULL""").getMap());
1505+
WHERE AnalysisScript IS NOT NULL""").buildSqlSelector().getMap());
15061506
}
15071507

15081508
// count of runs created from a FlowJo Workspace
15091509
public Map<String, Object> getWorkspaceRunCount(FlowSchema schema)
15101510
{
1511-
return removeRowNum(QueryService.get().selector(schema, """
1511+
return removeRowNum(QueryService.get().getSelectBuilder(schema, """
15121512
SELECT
15131513
COUNT(*) AS RunCount,
15141514
MAX(Created) AS CreatedMax,
15151515
SUM(FCSAnalysisCount) AS FCSAnalysisCount,
15161516
SUM(CompensationControlCount) AS CompControlCount,
15171517
SUM(FCSFileCount) AS FCSFileCount
15181518
FROM flow.Runs
1519-
WHERE Workspace IS NOT NULL""").getMap());
1519+
WHERE Workspace IS NOT NULL""").buildSqlSelector().getMap());
15201520
}
15211521

15221522
// count of runs created from an analysis archive import
15231523
public Map<String, Object> getExternalAnalysisRunCount(FlowSchema schema)
15241524
{
1525-
return removeRowNum(QueryService.get().selector(schema,
1525+
return removeRowNum(QueryService.get().getSelectBuilder(schema,
15261526
"SELECT\n" +
15271527
" COUNT(*) AS RunCount,\n" +
15281528
" MAX(Created) AS CreatedMax,\n" +
15291529
" SUM(FCSAnalysisCount) AS FCSAnalysisCount,\n" +
15301530
" SUM(CompensationControlCount) AS CompControlCount,\n" +
15311531
" SUM(FCSFileCount) AS FCSFileCount\n" +
15321532
"FROM flow.Runs\n" +
1533-
"WHERE AnalysisEngine = '" + AnalysisEngine.Archive.name() + "'").getMap());
1533+
"WHERE AnalysisEngine = '" + AnalysisEngine.Archive.name() + "'").buildSqlSelector().getMap());
15341534
}
15351535

15361536
public Map<String, Object> getFCSFileOnlyRunCount(FlowSchema schema)
15371537
{
1538-
return removeRowNum(QueryService.get().selector(schema, """
1538+
return removeRowNum(QueryService.get().getSelectBuilder(schema, """
15391539
SELECT
15401540
COUNT(*) AS RunCount,
15411541
MAX(Created) AS CreatedMax,
15421542
SUM(FCSAnalysisCount) AS FCSAnalysisCount,
15431543
SUM(CompensationControlCount) AS CompControlCount,
15441544
SUM(FCSFileCount) AS FCSFileCount
15451545
FROM flow.Runs
1546-
WHERE ProtocolStep = 'Keywords'""").getMap());
1546+
WHERE ProtocolStep = 'Keywords'""").buildSqlSelector().getMap());
15471547
}
15481548

15491549
public int getRunCount(Container container, ObjectType type)

flow/src/org/labkey/flow/query/FCSFileCoalescingColumn.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public void declareJoins(String parentAlias, Map<String, SQLFragment> map)
130130
fields.addAll(coalesceFields);
131131

132132
Map<FieldKey, ColumnInfo> columnMap = QueryService.get().getColumns(parentTable, fields);
133-
SQLFragment sub = QueryService.get().getSelectSQL(parentTable, columnMap.values(), null, null, Table.ALL_ROWS, Table.NO_OFFSET, false);
133+
SQLFragment sub = QueryService.get().getSelectBuilder(parentTable).columns(columnMap.values()).buildSqlFragment();
134134

135135
SQLFragment coalesceFrag = new SQLFragment();
136136
coalesceFrag.append("SELECT\n");

flow/src/org/labkey/flow/reports/FilterFlowReport.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -385,8 +385,7 @@ else if ("fieldkey".equals(f.type))
385385
}
386386

387387
_query = query.toString();
388-
Results results = QueryService.get().getSelectBuilder(flow, _query)
389-
.select(null, true);
388+
Results results = QueryService.get().getSelectBuilder(flow, _query).select();
390389
// This still breaks encapsulation, but it's better than a direct cast.
391390
CachedResultSet rs = results.getWrapped(CachedResultSet.class);
392391
if (null == rs)

luminex/src/org/labkey/luminex/query/AnalyteSinglePointControlTable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public AnalyteSinglePointControlTable(final LuminexProtocolSchema schema, Contai
8282
// TODO ContainerFilter -- Do we really want a non-permission checking container filter here?
8383
LuminexDataTable dataTable = schema.createDataTable(ContainerFilter.getUnsafeEverythingFilter(), false);
8484
List<ColumnInfo> dataColumns = Arrays.asList(dataTable.getColumn("FlaggedAsExcluded"), dataTable.getColumn("FIBackground"), dataTable.getColumn("Description"), dataTable.getColumn("Data"), dataTable.getColumn("Analyte"));
85-
avgFiSQL.append(QueryService.get().getSelectSQL(dataTable, dataColumns, null, null, Table.ALL_ROWS, 0, false));
85+
avgFiSQL.append(QueryService.get().getSelectBuilder(dataTable).columns(dataColumns).buildSqlFragment());
8686
avgFiSQL.append(") dr, ");
8787
avgFiSQL.append(ExperimentService.get().getTinfoData(), "d");
8888
avgFiSQL.append(", ");

luminex/src/org/labkey/luminex/query/GuideSetTable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ private void addFIColumns(TableInfo joinTable, String srcFIColumnName, String ta
206206
joinTable.getColumn("IncludeInGuideSetCalculation"),
207207
joinTable.getColumn(srcFIColumnName));
208208
SQLFragment baseSQL = new SQLFragment(" FROM (");
209-
baseSQL.append(QueryService.get().getSelectSQL(joinTable, columns, null, null, Table.ALL_ROWS, 0, false));
209+
baseSQL.append(QueryService.get().getSelectBuilder(joinTable).columns(columns).buildSqlFragment());
210210
baseSQL.append(") x WHERE x.");
211211
baseSQL.append(guideSetColumnName);
212212
baseSQL.append(" = ");

microarray/src/org/labkey/microarray/matrix/ExpressionMatrixAssayProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,8 @@ public void beforeXarExportRun(ExpRun run, ExperimentRunType xrun)
220220
QuerySchema microarray = DefaultSchema.get(user, container).getSchema("Microarray");
221221
if (null == microarray)
222222
return;
223-
Map<Long,String> map = QueryService.get().selector(microarray, "SELECT RowId, Name FROM FeatureAnnotationSet")
224-
.getValueMap(Long.class);
223+
Map<Long,String> map = QueryService.get().getSelectBuilder(microarray, "SELECT RowId, Name FROM FeatureAnnotationSet")
224+
.buildSqlSelector().getValueMap(Long.class);
225225
mapRowIdName = (Map<Long,String>)map;
226226
// Make sure this is really <Integer,String>?
227227
if (!mapRowIdName.isEmpty())
@@ -253,8 +253,8 @@ public void beforeXarImportRun(ExperimentRunType xrun)
253253
if (null == microarray)
254254
return;
255255
Map<String,Long> map = new HashMap<>();
256-
QueryService.get().selector(microarray, "SELECT Name, RowId FROM FeatureAnnotationSet")
257-
.forEach(rs -> map.put(rs.getString(1),rs.getLong(2)));
256+
QueryService.get().getSelectBuilder(microarray, "SELECT Name, RowId FROM FeatureAnnotationSet")
257+
.buildSqlSelector().forEach(rs -> map.put(rs.getString(1),rs.getLong(2)));
258258
mapNameRowId = map;
259259
// Make sure this is really <Integer,String>?
260260
if (!mapNameRowId.isEmpty())

ms2/src/org/labkey/ms2/peptideview/AbstractMS2RunView.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ protected Pair<ColumnInfo, SQLFragment> generateSubSelect(NestableQueryView quer
410410

411411
QueryService.get().ensureRequiredColumns(tinfo, columns, filter, sort, new HashSet<>());
412412

413-
SQLFragment sql = QueryService.get().getSelectSQL(tinfo, columns, filter, sort, Table.ALL_ROWS, Table.NO_OFFSET, false);
413+
SQLFragment sql = QueryService.get().getSelectBuilder(tinfo).columns(columns).filter(filter).sort(sort).buildSqlFragment();
414414
return new Pair<>(desiredCol, sql);
415415
}
416416

ms2/src/org/labkey/ms2/query/MS2Schema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1085,7 +1085,7 @@ public StringExpression getURL(ColumnInfo parent)
10851085
TableInfo proteinGroupMembershipTable = createProteinGroupMembershipTable(form, context, false);
10861086
ColumnInfo proteinGroupColumn = proteinGroupMembershipTable.getColumn("ProteinGroupId");
10871087

1088-
SQLFragment selectSQL = QueryService.get().getSelectSQL(proteinGroupMembershipTable, Collections.singleton(proteinGroupColumn), null, null, Table.ALL_ROWS, Table.NO_OFFSET, false);
1088+
SQLFragment selectSQL = QueryService.get().getSelectBuilder(proteinGroupMembershipTable).columns(Collections.singleton(proteinGroupColumn)).buildSqlFragment();
10891089
SQLFragment filterSQL = new SQLFragment("ProteinGroupId IN (SELECT ").appendIdentifier(proteinGroupColumn.getAlias()).append(" FROM (");
10901090
filterSQL.append(selectSQL);
10911091
filterSQL.append(") x)");

viability/src/org/labkey/viability/ViabilityManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ private static SQLFragment specimenAggregates(ViabilityAssaySchema schema, ExpRu
400400
// Only update results in the run
401401
filter.addCondition(FieldKey.fromParts("ResultID", "Run"), run.getRowId());
402402
}
403-
SQLFragment sub = QueryService.get().getSelectSQL(rs, columnMap.values(), filter, null, Table.ALL_ROWS, Table.NO_OFFSET, false);
403+
SQLFragment sub = QueryService.get().getSelectBuilder(rs).columns(columnMap.values()).filter(filter).buildSqlFragment();
404404

405405
SQLFragment groupFrag = new SQLFragment();
406406
groupFrag.append("SELECT\n");

0 commit comments

Comments
 (0)