From f0fcab0c115ea76d40fa7f909b271d44a9e66073 Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Tue, 27 Oct 2026 09:50:29 -0700 Subject: [PATCH] update to avoid deprecated SqlFragment methods. --- wiki/src/org/labkey/wiki/WikiCollections.java | 21 ++++++++----------- wiki/src/org/labkey/wiki/WikiManager.java | 20 ++++++++---------- wiki/src/org/labkey/wiki/model/WikiType.java | 2 +- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/wiki/src/org/labkey/wiki/WikiCollections.java b/wiki/src/org/labkey/wiki/WikiCollections.java index 9db54b93640..46a4871e812 100644 --- a/wiki/src/org/labkey/wiki/WikiCollections.java +++ b/wiki/src/org/labkey/wiki/WikiCollections.java @@ -66,17 +66,6 @@ public class WikiCollections private final List _adminNavTree; private final List _nonAdminNavTree; - private static final StringBuilder SQL = new StringBuilder(); - - static - { - SQL.append("SELECT pages.RowId, Name, Parent, Title FROM "); - SQL.append(CommSchema.getInstance().getTableInfoPages()); - SQL.append(" pages LEFT OUTER JOIN "); - SQL.append(CommSchema.getInstance().getTableInfoPageVersions()); - SQL.append(" versions ON pages.PageVersionId = versions.RowId WHERE Container = ? ORDER BY pages.DisplayOrder, pages.Rowid"); - } - // For each wiki: // Name // Title @@ -94,7 +83,15 @@ public WikiCollections(Container c) treesByRowId.put(_root.getRowId(), _root); - new SqlSelector(CommSchema.getInstance().getSchema(), new SQLFragment(SQL, c)).forEach(rs -> { + SQLFragment sql = new SQLFragment() + .SELECT().unsafeAppend("pages.RowId, Name, Parent, Title") + .FROM().append(CommSchema.getInstance().getTableInfoPages(), "pages") + .LEFT_OUTER_JOIN().append(CommSchema.getInstance().getTableInfoPageVersions(), "versions") + .ON().unsafeAppend("pages.PageVersionId = versions.RowId") + .WHERE().unsafeAppend("Container = ?").add(c) + .ORDER_BY().unsafeAppend("pages.DisplayOrder, pages.Rowid"); + + new SqlSelector(CommSchema.getInstance().getSchema(), sql).forEach(rs -> { int rowId = rs.getInt(1); String name = rs.getString(2); Integer parentId = rs.getInt(3); diff --git a/wiki/src/org/labkey/wiki/WikiManager.java b/wiki/src/org/labkey/wiki/WikiManager.java index 1b1420ff361..f20024505a6 100644 --- a/wiki/src/org/labkey/wiki/WikiManager.java +++ b/wiki/src/org/labkey/wiki/WikiManager.java @@ -331,17 +331,15 @@ public void addAliases(Wiki wiki, @NotNull Collection aliases, @Nullable // Table.insert() provides no way to conditionalize the insert, resulting in constraint violation exceptions // that kill the current transaction on PostgreSQL. We want "best effort" inserts here, so execute custom // INSERT SQL instead. - SQLFragment sql = new SQLFragment("INSERT INTO ") - .append(CommSchema.getInstance().getTableInfoPageAliases()) - .unsafeAppend(" (Container, Alias, PageRowId) SELECT ?, ?, ?\n") - .add(wiki.getContainerId()) - .add(alias) - .add(wiki.getRowId()) - .unsafeAppend("WHERE NOT EXISTS (SELECT * FROM ") - .append(CommSchema.getInstance().getTableInfoPageAliases()) - .unsafeAppend(" WHERE Container = ? AND LOWER(Alias) = LOWER(?))") - .add(wiki.getContainerId()) - .add(alias); + SQLFragment sql = new SQLFragment() + .INSERT_INTO().append(CommSchema.getInstance().getTableInfoPageAliases()).unsafeAppend(" (Container, Alias, PageRowId)") + .SELECT().unsafeAppend("?, ?, ?").add(wiki.getContainerId()).add(alias).add(wiki.getRowId()) + .WHERE().unsafeAppend("NOT EXISTS (") + .SELECT().unsafeAppend("*") + .FROM().append(CommSchema.getInstance().getTableInfoPageAliases()) + .WHERE().unsafeAppend("Container = ?").add(wiki.getContainerId()) + .AND().unsafeAppend("LOWER(Alias) = LOWER(?)").add(alias) + .unsafeAppend(")"); int rows = executor.execute(sql); if (0 == rows) diff --git a/wiki/src/org/labkey/wiki/model/WikiType.java b/wiki/src/org/labkey/wiki/model/WikiType.java index 70c8683ab30..51b035b637a 100644 --- a/wiki/src/org/labkey/wiki/model/WikiType.java +++ b/wiki/src/org/labkey/wiki/model/WikiType.java @@ -42,6 +42,6 @@ public static AttachmentParentType get() @Override public @NotNull SQLFragment getSelectEntityIdAndDescriptionSql() { - return new SQLFragment("SELECT EntityId, Name AS Description FROM ").append(CommSchema.getInstance().getTableInfoPages(), "pages"); + return SQLFragment.unsafe("SELECT EntityId, Name AS Description FROM ").append(CommSchema.getInstance().getTableInfoPages(), "pages"); } }