TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_8.0.0-alpha8
  4. #29493

8.0.0-alpha8
TopLogic Release

2026-09-01

enhancement

major
#29404
Deklaratives <switch>-View-Element für eingabeabhängige Detailsichten
#29425
Nicht-binäre String-Spalten datenbankunabhängig case-insensitive (Collation)
#29430
Complete the headless agent / script interface of the React view layer
#29447
Nacharbeiten zu #29088: Modellbasierte Zugriffsrechte
#29448
React: Verbesserungen der Tabellen im React-Layout
#29449
QueryExecutor sichert das Ergebnis einer Skriptausführung ab
minor
#29434
PrettyPrint für Workflow-Exporte
#29445
Kommandogruppen in den Rollenprofilen stabil sortieren
#29458
Self-Service: Einmal gesendete Mail kann nicht noch einmal gesendet werden
#29464
Default-Spalten in der Instanzensicht im Modell-Editor
#29480
Login vor geplantem Wartungsmodus
#29484
Beschreibungen (Tooltips) für die Modellelemente der tl-engine

defect

critical
#29465
React form: <size-constraint> without an upper bound rejects every non-empty text
#29468
A form's editing buffer is not a TLFormObjectBase, so identity-based constraints reject every edit
major
#29446
React: Zustand einer Seite über einen Reload hinweg erhalten
#29460
IllegalStateException "Control has no id!" beim Öffnen eines Dialogs bei offenem Popup-Dialog
#29492
Spalte LAYOUT_KEY zu kurz in TEMPLATE_LAYOUTS und LAYOUT_CONFIGURATIONS
#29493
Unnötige Datenbankabfragen bei Löschung von Objekten für historische Referenzen.
minor
#29423
Umgang mit Nutzernamen
#29427
ReactSplitPanelControl propagiert attach/detach nicht an seine Panes
#29456
Option "Zeilenobjekte verwenden" liefert GridTreeTableNodes anstatt Fachobjekte in Tabellenkonfiguration
#29457
Einheitliche Namen für Applikations-Logos
#29461
CommandDispatcher soll Gültigkeit des Ziel-Modells des Kommandos prüfen

update

critical
#29454
Update dependency org.jsoup:jsoup to v1.23.1 [SECURITY]
#29470
Update dependency org.apache.httpcomponents.client5:httpclient5 to v5.6.3 [SECURITY]
defect

major

#29493

Unnötige Datenbankabfragen bei Löschung von Objekten für historische Referenzen.

Performance

Beim Löschen eines Objektes ermittelt die KnowledgeBase (der ReferenceDeletionHelper, bzw. der VETO-Check im DefaultDBContext) alle Referenzen, die auf das gelöschte Objekt zeigen, um diese entsprechend ihrer Löschstrategie (MOReference.DeletionPolicy) anzupassen. Dabei wurden auch Referenzen mit HistoryType.HISTORIC durchsucht.

Das ist überflüssig: Der Wert einer historischen Referenz wird beim Speichern auf eine konkrete Revision stabilisiert (KnowledgeReferenceStorageImpl.storeHistoryContext()), die Revisionsspalte enthält daher nie Revision.CURRENT_REV. Gelöscht werden können ausschließlich aktuelle Objekte. Eine historische Referenz kann also nie auf ein gelöschtes Objekt zeigen, und ihre Löschstrategie kann nie greifen.

Da die Standard-Löschstrategie CLEAR_REFERENCE ist (MOReference.DEFAULT_DELETION_POLICY), betraf das jede historische Referenz einer Anwendung, an der keine Löschstrategie explizit gesetzt ist. Bei jeder Löschung wurde daher für jede solche Referenz eine Datenbankabfrage abgesetzt, die garantiert kein Ergebnis liefern kann.

Umsetzung

DBKnowledgeBase.anyRefereesQuery() bekommt den zusätzlichen Parameter currentTargets. Ist er gesetzt, überspringt die Query-Erzeugung (Expressions.createMonomorphicQueriesForTypeAndAttribute()) historische Referenzen vollständig, so dass für sie weder eine Query erzeugt noch abgesetzt wird. Der Parameter geht in den Query-Cache-Schlüssel ein.

Die Suche über alle Referenzen unabhängig von der Löschstrategie (getAnyReferer() mit policy == null) findet historische Referenzen unverändert; dort wird der Parameter aus dem Zielobjekt abgeleitet.

Referenzen mit HistoryType.MIXED werden weiterhin durchsucht, da sie auf aktuelle Objekte zeigen können.

Test

  • com.top_logic/src/test/java/test/com/top_logic/knowledge/service/db2/reference/historic/global/TestDeletion.java
  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

  • top-logic.com
  • Nutzungsbedingungen
  • Impressum
  • Rechtlicher Hinweis
  • Datenschutz
  • EN
  • Login