From bf4eabc7285181fe7fa91d680ef428ba8ed9f129 Mon Sep 17 00:00:00 2001 From: labkey-nicka Date: Tue, 20 Jan 2026 08:59:08 -0800 Subject: [PATCH] Exp.Materials.LastIndexed --- .../labkey/api/exp/query/ExpMaterialTable.java | 1 + .../labkey/experiment/api/ExpDataTableImpl.java | 5 ++++- .../experiment/api/ExpMaterialTableImpl.java | 15 ++++++++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/api/src/org/labkey/api/exp/query/ExpMaterialTable.java b/api/src/org/labkey/api/exp/query/ExpMaterialTable.java index 6c856381460..0d719a0466b 100644 --- a/api/src/org/labkey/api/exp/query/ExpMaterialTable.java +++ b/api/src/org/labkey/api/exp/query/ExpMaterialTable.java @@ -42,6 +42,7 @@ enum Column Inputs, IsAliquot, IsPlated, + LastIndexed, LSID, MaterialExpDate, MaterialSourceId, diff --git a/experiment/src/org/labkey/experiment/api/ExpDataTableImpl.java b/experiment/src/org/labkey/experiment/api/ExpDataTableImpl.java index 1896b1eb5b6..1a380ac7884 100644 --- a/experiment/src/org/labkey/experiment/api/ExpDataTableImpl.java +++ b/experiment/src/org/labkey/experiment/api/ExpDataTableImpl.java @@ -296,7 +296,10 @@ public MutableColumnInfo createColumn(String alias, Column column) append(ExperimentServiceImpl.get().getTinfoDataIndexed(), "di"). append(" WHERE di.DataId = "). append(ExprColumn.STR_TABLE_ALIAS).append(".RowId)"); - var lastIndexed = new ExprColumn(this, "LastIndexed", lastIndexedSql, JdbcType.TIMESTAMP); + var lastIndexed = new ExprColumn(this, Column.LastIndexed.name(), lastIndexedSql, JdbcType.TIMESTAMP); + lastIndexed.setDescription("Date when the data was last full-text search indexed in the system"); + lastIndexed.setHidden(true); + lastIndexed.setReadOnly(true); lastIndexed.setUserEditable(false); return lastIndexed; case DataClass: diff --git a/experiment/src/org/labkey/experiment/api/ExpMaterialTableImpl.java b/experiment/src/org/labkey/experiment/api/ExpMaterialTableImpl.java index 80393dc07d5..7251c8e7b6c 100644 --- a/experiment/src/org/labkey/experiment/api/ExpMaterialTableImpl.java +++ b/experiment/src/org/labkey/experiment/api/ExpMaterialTableImpl.java @@ -145,6 +145,7 @@ import static org.labkey.api.exp.query.ExpMaterialTable.Column.AliquotVolume; import static org.labkey.api.exp.query.ExpMaterialTable.Column.AvailableAliquotCount; import static org.labkey.api.exp.query.ExpMaterialTable.Column.AvailableAliquotVolume; +import static org.labkey.api.exp.query.ExpMaterialTable.Column.LastIndexed; import static org.labkey.api.exp.query.ExpMaterialTable.Column.StoredAmount; import static org.labkey.api.exp.query.ExpMaterialTable.Column.Units; import static org.labkey.api.util.StringExpressionFactory.AbstractStringExpression.NullValueBehavior.NullResult; @@ -577,6 +578,18 @@ public StringExpression getURL(ColumnInfo parent) ret.setShownInUpdateView(true); return ret; } + case LastIndexed -> + { + var sql = new SQLFragment("(SELECT LastIndexed FROM ") + .append(ExperimentServiceImpl.get().getTinfoMaterialIndexed(), "mi") + .append(" WHERE mi.MaterialId = ").append(ExprColumn.STR_TABLE_ALIAS).append(".RowId)"); + var ret = new ExprColumn(this, LastIndexed.name(), sql, JdbcType.TIMESTAMP); + ret.setDescription("Date when the material was last full-text search indexed in the system"); + ret.setHidden(true); + ret.setReadOnly(true); + ret.setUserEditable(false); + return ret; + } default -> throw new IllegalArgumentException("Unknown column " + column); } } @@ -903,7 +916,7 @@ public void addQueryFieldKeys(Set keys) addColumn(col); addVocabularyDomains(); - + addColumn(LastIndexed); addColumn(Column.Properties); var colInputs = addColumn(Column.Inputs);