Skip to main content
Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite ist möglicherweise noch nicht abgeschlossen. Aktuelle Informationen findest du in der englischsprachigen Dokumentation.

database finalize

[Infrastruktur] Letzte Schritte bei der Datenbankerstellung.

GitHub CodeQL wird nach der Installation auf Benutzerbasis lizenziert. Du kannst CodeQL nur für bestimmte Aufgaben unter den Lizenzeinschränkungen verwenden. Weitere Informationen findest du unter Informationen zur CodeQL-CLI.

Wenn du über eine GitHub Advanced Security-Lizenz verfügst, kannst du CodeQL für eine automatisierte Analyse sowie für Continuous Integration und Continuous Delivery verwenden. Weitere Informationen findest du unter Informationen zu GitHub Advanced Security.

Hier wird das neueste Release der CodeQL-CLI thematisiert. Weitere Informationen zu diesem Thema findest du unter https://github.com/github/codeql-cli-binaries/releases.

Um Details zu den Optionen anzuzeigen, die für diesen Befehl in früheren Releases verfügbar sind, führe den Befehl mit der Option --help im Terminal aus.

Übersicht

Shell
codeql database finalize [--dbscheme=<file>] [--threads=<num>] [--ram=<MB>] [--mode=<mode>] <options>... -- <database>

Beschreibung

[Infrastruktur] Letzte Schritte bei der Datenbankerstellung.

Finalisiere eine Datenbank, die mithilfe von codeql database init erstellt und für die anschließend mithilfe von codeql database trace-command ein Seeding mit Analysedaten ausgeführt wurde. Dies ist erforderlich, damit die neue Datenbank abgefragt werden kann.

Primäre Optionen

<database>

[Obligatorisch] Pfad zur CodeQL-Datenbank, die sich im Aufbau befindet. Dieser muss für die Extraktion mit codeql database init vorbereitet sein.

Wenn die Option --db-cluster angegeben ist, handelt es sich nicht um eine Datenbank als solches, sondern um ein Verzeichnis, das Datenbanken enthält. Es werden dann alle diese Datenbanken zusammen verarbeitet.

--[no-]db-cluster

Gibt an, dass es sich bei dem in der Befehlszeile angegebenen Verzeichnis nicht um eine Datenbank als solches handelt, sondern um ein Verzeichnis, das eine oder mehrere Datenbanken enthält, die sich im Aufbau befinden. Diese Datenbanken werden zusammen verarbeitet.

--additional-dbs=<database>[:<database>...]

[Erweitert] Pfad zu zusätzlichen CodeQL-Datenbanken, die sich im Aufbau befinden. Diese werden nicht selbst abgeschlossen, aber ihre Daten werden in die finalisierte Datenbank eingeschlossen, die erstellt wird. Dies ist eine erweiterte Option, die möglicherweise nicht in allen Fällen den gewünschten Effekt hat. Weitere Informationen findest du in der Dokumentation zu „codeql database import“.

Wenn die Option --db-cluster angegeben ist, wird erwartet, dass es sich um Datenbankcluster und nicht um einzelne CodeQL-Datenbanken handelt.

(Hinweis: Unter Windows wird ; als Pfadtrennzeichen verwendet.)

--no-cleanup

[Erweitert] Unterdrückt alle Datenbankbereinigungen nach der Finalisierung. Hilfreich beim Debuggen.

--no-pre-finalize

[Erweitert] Überspringt alle Vorabfinalisierungsskripts, die ggf. vom aktiven CodeQL-Extraktor angegebenen wurden.

--[no-]skip-empty

[Erweitert] Gibt eine Warnung aus, anstatt einen Fehler zu verursachen, wenn eine Datenbank leer ist, da während des Builds kein Quellcode verfügbar war. Die leere Datenbank wird nicht finalisiert.

Optionen zum Steuern des TRAP-Importvorgangs

-S, --dbscheme=<file>

[Erweitert] Überschreibt die automatisch erkannte dbscheme-Definition, die für die TRAP-Dateien angenommen wird. Normalerweise wird diese aus dem Extraktor der Datenbank übernommen.

-j, --threads=<num>

Dient zum Festlegen, wie viele Threads für den Importvorgang verwendet werden sollen.

Der Standardwert lautet 1. Du kannst 0 übergeben, um jeweils einen Thread pro Kern auf dem Computer zu verwenden, oder -N, um N Kerne ungenutzt zu lassen. (Es wird allerdings immer noch mindestens ein Thread verwendet.)

-M, --ram=<MB>

Dient zum Festlegen, wie viel Arbeitsspeicher für den Importvorgang verwendet werden soll.

Optionen für die Bereinigung von Datasets auf niedriger Ebene

--max-disk-cache=<MB>

Dient zum Festlegen des maximalen Speicherplatzes, der vom Datenträgercache für Zwischenergebnisse von Abfragen beansprucht werden darf.

Wird diese Größe nicht explizit konfiguriert, versucht der Auswerter, basierend auf der Größe des Datasets und der Komplexität der Abfragen eine angemessene Menge an Cachespeicherplatz zu verwenden. Durch explizites Festlegen eines höheren Grenzwerts (im Vergleich zur Standardnutzung) können mehr Daten zwischengespeichert werden, was spätere Abfragen beschleunigen kann.

--min-disk-free=<MB>

[Erweitert] Dient zum Festlegen der Zielmenge des freien Speicherplatzes im Dateisystem.

Ohne Angabe von --max-disk-cache versucht der Auswerter nach Möglichkeit, die Nutzung des Datenträgercaches einzuschränken, wenn der freie Speicherplatz im Dateisystem diesen Wert unterschreitet.

--min-disk-free-pct=<pct>

[Erweitert] Dient zum Festlegen des Zielanteils des freien Speicherplatzes im Dateisystem.

Ohne Angabe von --max-disk-cache versucht der Auswerter nach Möglichkeit, die Nutzung des Datenträgercaches einzuschränken, wenn der freie Speicherplatz im Dateisystem diesen Prozentsatz unterschreitet.

-m, --mode=<mode>

Wähle aus, wie aggressiv der Cache gekürzt werden soll. Verfügbare Optionen:

brutal: Entfernt den gesamten Cache, um den Zustand eines frisch extrahierten Datasets zu erreichen.

normal (Standardwert) : Kürzt alles bis auf explizit zwischengespeicherte Prädikate.

light: Stellt lediglich sicher, dass die definierten Größenlimits für den Datenträgercache eingehalten werden, und löscht so viele Zwischenelemente wie nötig.

--cleanup-upgrade-backups

Löscht alle ggf. vorhandenen Sicherungsverzeichnisse, die bei Datenbankupgrades erstellt wurden.

Optionen zum Überprüfen importierter TRAP-Dateien

--[no-]check-undefined-labels

[Erweitert] Meldet Fehler für nicht definierte Bezeichnungen.

--[no-]check-unused-labels

[Erweitert] Meldet Fehler für nicht genutzte Bezeichnungen.

--[no-]check-repeated-labels

[Erweitert] Meldet Fehler für wiederholte Bezeichnungen.

--[no-]check-redefined-labels

[Erweitert] Meldet Fehler für neu definierte Bezeichnungen.

--[no-]check-use-before-definition

[Erweitert] Meldet Fehler für Bezeichnungen, die verwendet werden, bevor sie definiert wurden.

--[no-]fail-on-trap-errors

[Erweitert] Führt zu einer Beendigung ungleich null, wenn beim TRAP-Import ein Fehler auftritt.

--[no-]include-location-in-star

[Erweitert] Erstellt Entitäts-IDs, die den Speicherort in der TRAP-Datei codieren, aus der sie stammen. Kann für das Debuggen von TRAP-Generatoren nützlich sein, nimmt aber viel Platz im Dataset ein.

Allgemeine Optionen

-h, --help

Zeigt diesen Hilfetext an.

-J=<opt>

[Erweitert] Dient zum Angeben einer Option für die JVM-Instanz, die den Befehl ausführt.

(Beachte, dass Optionen, die Leerzeichen enthalten, nicht ordnungsgemäß behandelt werden.)

-v, --verbose

Ermöglicht die inkrementelle Erhöhung der Anzahl ausgegebener Statusmeldungen.

-q, --quiet

Ermöglicht die inkrementelle Verringerung der Anzahl ausgegebener Statusmeldungen.

--verbosity=<level>

[Erweitert] Dient zum expliziten Festlegen der Ausführlichkeitsstufe auf „errors“, „warnings“, „progress“, „progress+“, „progress++“ oder „progress+++“. Überschreibt -v und -q:

--logdir=<dir>

[Erweitert] Ermöglicht das Schreiben detaillierter Protokolle in eine oder mehrere Dateien im angegebenen Verzeichnis mit generierten Namen, die Zeitstempel und den Namen des ausgeführten Unterbefehls enthalten.

(Um eine Protokolldatei mit einem Namen zu schreiben, über den du die volle Kontrolle hast, gib stattdessen --log-to-stderr an, und leite stderr wie gewünscht um.)