Skip to content

Commit a502be9

Browse files
avoid calls to ColumnInfo.getSelectName()
1 parent 4835c3c commit a502be9

File tree

3 files changed

+13
-12
lines changed

3 files changed

+13
-12
lines changed

LDK/src/org/labkey/ldk/LDKServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ public List<String> validateContainerScopedTables(boolean onlyReportErrors)
258258
}
259259

260260
// group data based on pseudoPK and effective container (ie. workbooks go with parent) and return duplicates
261-
SQLFragment sql = new SQLFragment("SELECT ").append(pseudoPk.getValueSql("t")).append(" as keyField, count(*) as total FROM " + ti.getSelectName() + " t " +
261+
SQLFragment sql = new SQLFragment("SELECT ").append(pseudoPk.getValueSql("t")).append(" as keyField, count(*) as total FROM " + ti.getFromSQL("t") +
262262
" LEFT JOIN core.containers c ON t.container = c.entityid " +
263263
" GROUP BY ").append(pseudoPk.getValueSql("t")).append(", CASE WHEN c.type = 'workbook' THEN c.parent ELSE c.entityid END " +
264264
" HAVING count(*) > 1");

LDK/src/org/labkey/ldk/query/DefaultTableCustomizer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ private static void appendEnddate(AbstractTableInfo ti, String sourceColName)
240240
String name = sourceCol.getName();
241241
if (ti.getColumn(name + "Coalesced", false) == null)
242242
{
243-
SQLFragment sql = new SQLFragment("CAST(COALESCE(" + ExprColumn.STR_TABLE_ALIAS + "." + sourceCol.getSelectName() + ", {fn curdate()}) as date)");
243+
SQLFragment sql = new SQLFragment("CAST(COALESCE(").append(sourceCol.getValueSql(ExprColumn.STR_TABLE_ALIAS)).append(", {fn curdate()}) as date)");
244244
ExprColumn col = new ExprColumn(ti, name + "Coalesced", sql, JdbcType.DATE);
245245
col.setCalculated(true);
246246
col.setUserEditable(false);
@@ -255,7 +255,7 @@ private static void appendEnddate(AbstractTableInfo ti, String sourceColName)
255255

256256
if (ti.getColumn(name + "timeCoalesced", false) == null)
257257
{
258-
SQLFragment sql = new SQLFragment("COALESCE(" + ExprColumn.STR_TABLE_ALIAS + "." + sourceCol.getSelectName() + ", {fn now()})");
258+
SQLFragment sql = new SQLFragment("COALESCE(").append(sourceCol.getValueSql(ExprColumn.STR_TABLE_ALIAS)).append(", {fn now()})");
259259
ExprColumn col = new ExprColumn(ti, name + "timeCoalesced", sql, JdbcType.DATE);
260260
col.setCalculated(true);
261261
col.setUserEditable(false);
@@ -279,7 +279,7 @@ private static void appendDateOnly(AbstractTableInfo ti, String sourceColName)
279279
String name = sourceCol.getName().equals("date") ? "dateOnly" : sourceCol.getName() + "DatePart";
280280
if (ti.getColumn(name, false) == null)
281281
{
282-
SQLFragment sql = new SQLFragment(ti.getSqlDialect().getDateTimeToDateCast(ExprColumn.STR_TABLE_ALIAS + "." + sourceCol.getSelectName()));
282+
SQLFragment sql = ti.getSqlDialect().getDateTimeToDateCast(sourceCol.getValueSql(ExprColumn.STR_TABLE_ALIAS));
283283
ExprColumn col = new ExprColumn(ti, name, sql, JdbcType.DATE);
284284
col.setCalculated(true);
285285
col.setUserEditable(false);

laboratory/src/org/labkey/laboratory/query/LaboratoryTableCustomizer.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.labkey.api.data.DisplayColumn;
1515
import org.labkey.api.data.DisplayColumnFactory;
1616
import org.labkey.api.data.JdbcType;
17+
import org.labkey.api.data.MutableColumnInfo;
1718
import org.labkey.api.data.SQLFragment;
1819
import org.labkey.api.data.TableCustomizer;
1920
import org.labkey.api.data.TableInfo;
@@ -356,10 +357,10 @@ private void appendMajorEventsCol(final UserSchema us, AbstractTableInfo ds, fin
356357
return;
357358
}
358359
ColumnInfo pk = pks.get(0);
359-
final String pkColSelectName = pk.getSelectName();
360+
final String pkColSelectName = pk.getFieldKey().toSQLString();
360361
final String pkColRawName = pk.getName();
361362

362-
WrappedColumn col = new WrappedColumn(pk, name);
363+
MutableColumnInfo col = new WrappedColumn(pk, name);
363364
col.setLabel("Major Events");
364365
col.setDescription("This column shows all major events recorded in this subject\'s history and will calculate the time elapsed between the current sample and these dates.");
365366
col.setReadOnly(true);
@@ -426,7 +427,7 @@ private void appendOverlapingProjectsCol(final UserSchema us, AbstractTableInfo
426427
return;
427428
}
428429
ColumnInfo pk = pks.get(0);
429-
final String pkColSelectName = pk.getSelectName();
430+
final String pkColSelectName = pk.getFieldKey().toSQLString();
430431
final String pkColRawName = pk.getName();
431432
final String publicTableName = ds.getPublicName();
432433
final String colName = ds.getName() + "_overlappingProjects";
@@ -538,7 +539,7 @@ public void appendProjectsCol(final UserSchema us, AbstractTableInfo ds, final S
538539
return;
539540
}
540541
ColumnInfo pk = pks.get(0);
541-
final String pkColSelectName = pk.getSelectName();
542+
final String pkColSelectName = pk.getFieldKey().toSQLString();
542543
final String pkColRawName = pk.getName();
543544
final String schemaName = ds.getUserSchema().getSchemaPath().toSQLString();
544545
final String querySelectName = ds.getSqlDialect().makeLegalIdentifier(ds.getPublicName());
@@ -735,7 +736,7 @@ private void appendRelativeDatesCol(final UserSchema us, AbstractTableInfo ds, f
735736
return;
736737
}
737738
ColumnInfo pk = pks.get(0);
738-
final String pkColSelectName = pk.getSelectName();
739+
final String pkColSelectName = pk.getFieldKey().toSQLString();
739740
final String pkColRawName = pk.getName();
740741

741742
WrappedColumn col = new WrappedColumn(pk, name);
@@ -859,9 +860,9 @@ private void appendAgeInMonthsCol(AbstractTableInfo ti, ColumnInfo birthCol, Col
859860
//NOTE: patterned off of AgeInMonthsMethodInfo
860861
public SQLFragment getAgeInMonthsSQL(DbSchema schema, ColumnInfo column, @Nullable ColumnInfo deathCol)
861862
{
862-
SQLFragment yearA = new SQLFragment(schema.getSqlDialect().getDatePart(Calendar.YEAR, ExprColumn.STR_TABLE_ALIAS + "." + column.getSelectName()));
863-
SQLFragment monthA = new SQLFragment(schema.getSqlDialect().getDatePart(Calendar.MONTH, ExprColumn.STR_TABLE_ALIAS + "." + column.getSelectName()));
864-
SQLFragment dayA = new SQLFragment(schema.getSqlDialect().getDatePart(Calendar.DATE, ExprColumn.STR_TABLE_ALIAS + "." + column.getSelectName()));
863+
SQLFragment yearA = schema.getSqlDialect().getDatePart(Calendar.YEAR, column.getValueSql(ExprColumn.STR_TABLE_ALIAS));
864+
SQLFragment monthA = schema.getSqlDialect().getDatePart(Calendar.MONTH, column.getValueSql(ExprColumn.STR_TABLE_ALIAS));
865+
SQLFragment dayA = schema.getSqlDialect().getDatePart(Calendar.DATE, column.getValueSql(ExprColumn.STR_TABLE_ALIAS));
865866

866867
String curDateExpr = getCurDateExpr(deathCol);
867868
SQLFragment yearB = new SQLFragment(schema.getSqlDialect().getDatePart(Calendar.YEAR, curDateExpr));

0 commit comments

Comments
 (0)