{"meta":{"title":"dataset upgrade","intro":"[Plumbing] Führt ein Upgrade für ein Dataset durch, damit es von den aktuellen Tools verwendet werden kann.","product":"Sicherheit und Codequalität","breadcrumbs":[{"href":"/de/code-security","title":"Sicherheit und Codequalität"},{"href":"/de/code-security/reference","title":"Reference"},{"href":"/de/code-security/reference/code-scanning","title":"Codeüberprüfung"},{"href":"/de/code-security/reference/code-scanning/codeql","title":"CodeQL"},{"href":"/de/code-security/reference/code-scanning/codeql/codeql-cli-manual","title":"CodeQL CLI-Leitfaden"},{"href":"/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-upgrade","title":"dataset upgrade"}],"documentType":"article"},"body":"# dataset upgrade\n\n\\[Plumbing] Führt ein Upgrade für ein Dataset durch, damit es von den aktuellen Tools verwendet werden kann.\n\n## Zusammenfassung\n\n```shell copy\ncodeql dataset upgrade [--threads=<num>] [--ram=<MB>] <options>... -- <dataset>\n```\n\n## Description\n\n```\n          \\[Plumbing] Führt ein Upgrade für ein Dataset durch, damit es von den aktuellen Tools verwendet werden kann.\n```\n\nDies entspricht [codeql database upgrade](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-upgrade), funktioniert aber nicht für die gesamte Datenbank, sondern für ein unformatiertes Dataset.\n\n## Options\n\n### Primäre Optionen\n\n#### `<dataset>`\n\n```\n          \\[Obligatorisch] Pfad zum unformatierten QL-Dataset, für das ein Upgrade ausgeführt werden soll.\n```\n\n#### `--search-path=<dir>[:<dir>...]`\n\nEine Liste mit Verzeichnissen, unter denen QL-Pakete mit Upgrade-Rezepten zu finden sind. Jedes Verzeichnis kann entweder ein QL-Paket (oder ein Bündel von Paketen mit einer Datei vom Typ `.codeqlmanifest.json` am Stamm) oder das unmittelbar übergeordnete Element eines oder mehrerer solcher Verzeichnisse sein.\n\nWenn der Pfad Verzeichnisstrukturen enthält, definiert deren Reihenfolge die Rangfolge zwischen ihnen: Ist ein Paketname, der aufgelöst werden muss, in mehreren der Verzeichnisstrukturen vorhanden, wird die erste Angabe verwendet.\n\nEin entsprechender Verweis beim Auschecken des Open-Source-CodeQL-Repositorys sollte funktionieren, wenn eine der darin enthaltenen Sprachen abgefragt wird.\n\n(Hinweis: Unter Windows wird `;` als Pfadtrennzeichen verwendet.)\n\n#### `--additional-packs=<dir>[:<dir>...]`\n\n```\n          \\[Erweitert] Bei Angabe dieser Verzeichnisliste werden die Verzeichnisse vor den Verzeichnissen in `--search-path` nach Upgrades durchsucht. Die Reihenfolge zwischen diesen Elementen spielt keine Rolle. Wenn ein Paketname über diese Liste an zwei verschiedenen Stellen gefunden wird, handelt es sich um einen Fehler.\n```\n\nDies ist hilfreich, wenn du vorübergehend eine neue Version eines Pakets entwickelst, die auch am Standardpfad vorhanden ist. Andererseits wird davon *abgeraten*, diese Option in einer Konfigurationsdatei außer Kraft zu setzen. Einige interne Aktionen fügen diese Option direkt hinzu, wodurch alle konfigurierten Werte überschrieben werden.\n\n(Hinweis: Unter Windows wird `;` als Pfadtrennzeichen verwendet.)\n\n#### `--target-dbscheme=<file>`\n\nDas \\_Ziel\\_datenbankschema für das Upgrade. Ohne diese Angabe wird ein maximaler Upgrade-Pfad erstellt.\n\n#### `--target-sha=<sha>`\n\n```\n          \\[Erweitert] Eine Alternative zu `--target-dbscheme`, die den internen Hash des Zieldatenbankschemas anstatt der Datenbankschemadatei angibt.\n```\n\n#### `--[no-]allow-downgrades`\n\nSchließe alle relevanten Downgrades ein, wenn keine Upgrades vorhanden sind.\n\n### Optionen zum Steuern der Auswertung von Upgrade-Abfragen\n\n#### `--[no-]tuple-counting`\n\n```\n          \\[Erweitert] Zeigt die Tupel-Anzahl für jeden Auswertungsschritt in den Protokollen der Abfrageauswertung an. Bei Angabe der Option `--evaluator-log` wird die Tupelanzahl sowohl in die textbasierten als auch in die strukturierten JSON-Protokolle eingeschlossen, die durch den Befehl erstellt werden. (Dies kann bei der Optimierung der Leistung von komplexem QL-Code hilfreich sein.)\n```\n\n#### `--timeout=<seconds>`\n\n```\n          \\[Erweitert] Dient zum Festlegen der Timeoutlänge für die Abfrageauswertung in Sekunden.\n```\n\nDas Timeoutfeature ist für Fälle vorgesehen, in denen die Auswertung einer komplexen Abfrage zu lange dauern würde. Es ist keine effektive Methode zur Begrenzung der Gesamtdauer der Abfrageauswertung. Die Auswertung kann fortgesetzt werden, solange jeder Teil der Berechnung, für den eine separate Zeiterfassung erfolgt, innerhalb des Timeouts abgeschlossen wird. Derzeit sind diese Teile mit separater Zeiterfassung „RA-Ebenen“ der optimierten Abfrage. Dies kann sich aber noch ändern.\n\nOhne Timeoutangabe oder bei Angabe eines Nullwerts wird kein Timeout festgelegt. (Einzige Ausnahme ist [codeql test run](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-run): Hier gilt ein Standardtimeout von fünf Minuten.)\n\n#### `-j, --threads=<num>`\n\nDient zum Festlegen, wie viele Threads für die Abfrageauswertung verwendet werden sollen.\n\nDer 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.)\n\n#### `--[no-]save-cache`\n\n```\n          \\[Veraltet] \\[Erweitert] Dieses Flag hat keine Auswirkungen.\n```\n\n#### `--[no-]expect-discarded-cache`\n\n```\n          \\[Erweitert] Hiermit können Sie entscheiden, welche Prädikate ausgewertet werden sollen und was in den Datenträgercache geschrieben werden soll (basierend auf der Annahme, dass der Cache nach Ausführung der Abfragen geleert wird).\n```\n\n#### `--[no-]keep-full-cache`\n\n```\n          \\[Erweitert] Gibt an, dass der Datenträgercache nach Abschluss der Auswertung nicht bereinigt werden soll.\n```\n\nDas kann Zeit sparen, wenn du später ohnehin [codeql dataset cleanup](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-cleanup) oder [codeql database cleanup](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-cleanup) verwendest.\n\n#### `--max-disk-cache=<MB>`\n\nDient zum Festlegen des maximalen Speicherplatzes, der vom Datenträgercache für Zwischenergebnisse von Abfragen beansprucht werden darf.\n\nWird 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.\n\n#### `--min-disk-free=<MB>`\n\n```\n          \\[Erweitert] Dient zum Festlegen der Zielmenge des freien Speicherplatzes im Dateisystem.\n```\n\nOhne 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.\n\n#### `--min-disk-free-pct=<pct>`\n\n```\n          \\[Erweitert] Dient zum Festlegen des Zielanteils des freien Speicherplatzes im Dateisystem.\n```\n\nOhne 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.\n\n#### `--external=<pred>=<file.csv>`\n\nEine CSV-Datei, die Zeilen für das externe Prädikat *\\<pred>* enthält.\nFür `--external` können mehrere Optionen angegeben werden.\n\n#### `--xterm-progress=<mode>`\n\n```\n          \\[Erweitert] Legt fest, ob die Statusnachverfolgung während der QL-Auswertung mithilfe von xterm-Steuersequenzen angezeigt werden soll. Mögliche Werte:\n\n          `no`: Generiert keinen aufwendigen Status und geht von einem einfachen Terminal aus.\n\n          `auto`\n          _(Standardwert):_ Ermittelt automatisch, ob der Befehl in einem geeigneten Terminal ausgeführt wird.\n\n          `yes`: Geht davon aus, dass das Terminal mit xterm-Kontrollsequenzen kompatibel ist. Das Feature hängt weiterhin davon ab, dass die _Größe_ des Terminals (unter Windows nicht implementiert) automatisch ermittelt werden kann. Es wird ebenfalls deaktiviert, wenn `-q` angegeben wird.\n\n          `25x80` (oder ähnlich): Wie `yes` und gibt auch explizit die Größe des Terminals an. (Im Gegensatz zu `yes` sollte das unter Windows funktionieren.)\n\n          `25x80:/dev/pts/17` (oder ähnlich): Zeigt einen aufwendigen Status in einem _anderen_ Terminal als „stderr” an. In erste Linie für interne Tests nützlich.\n```\n\n### Optionen zum Steuern der Ausgabe strukturierter Auswertungsprotokolle\n\n#### `--evaluator-log=<file>`\n\n```\n          \\[Erweitert] Dient zum Ausgeben strukturierter Protokolle zur Leistung des Auswerters für die angegebene Datei. Das Format dieser Protokolldatei kann ohne vorherige Ankündigung geändert werden. Es handelt sich jedoch um einen Datenstrom von JSON-Objekten, die entweder durch zwei Neue-Zeile-Zeichen (standardmäßig) getrennt werden – oder durch ein einzelnes, wenn die Option `--evaluator-log-minify` übergeben wird. Verwende `codeql generate log-summary <file>`, um eine stabilere Zusammenfassung dieser Datei zu erstellen, und vermeide eine direkte Analyse der Datei. Die Datei wird überschrieben, wenn sie bereits vorhanden ist.\n```\n\n#### `--evaluator-log-minify`\n\n```\n          \\[Erweitert] Wenn die Option `--evaluator-log` zusammen mit dieser Option übergeben wird, wird die Größe des generierten JSON-Protokolls minimiert. Dies beeinträchtigt allerdings die Lesbarkeit.\n```\n\n### Optionen zum Steuern der RAM-Nutzung des Upgrade-Prozesses\n\n#### `-M, --ram=<MB>`\n\nDie Abfrageauswertung bemüht sich, ihren Gesamtspeicherbedarf unter diesem Wert zu halten. (Bei großen Datenbanken kann es jedoch vorkommen, dass der Schwellenwert durch dateigesicherte Speicherzuordnungen überschritten wird, die bei Speicherauslastung auf einen Datenträger ausgelagert werden können).\n\nDer Wert sollte mindestens 2048 MB betragen; kleinere Werte werden transparent aufgerundet.\n\n### Allgemeine Optionen\n\n#### `-h, --help`\n\nZeigt diesen Hilfetext an.\n\n#### `-J=<opt>`\n\n```\n          \\[Erweitert] Dient zum Angeben einer Option für die JVM-Instanz, die den Befehl ausführt.\n```\n\n(Beachte, dass Optionen, die Leerzeichen enthalten, nicht ordnungsgemäß verarbeitet werden.)\n\n#### `-v, --verbose`\n\nErmöglicht die inkrementelle Erhöhung der Anzahl ausgegebener Statusmeldungen.\n\n#### `-q, --quiet`\n\nErmöglicht die inkrementelle Verringerung der Anzahl ausgegebener Statusmeldungen.\n\n#### `--verbosity=<level>`\n\n```\n          \\[Erweitert] Dient zum expliziten Festlegen des Ausführlichkeitsgrads auf „errors“, „warnings“, „progress“, „progress+“, „progress++“ oder „progress+++“. Überschreibt `-v` und `-q`:\n```\n\n#### `--logdir=<dir>`\n\n```\n          \\[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.\n```\n\n(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.)\n\n#### `--common-caches=<dir>`\n\n```\n          \\[Erweitert] Steuert den Speicherort zwischengespeicherter Daten auf dem Datenträger, der zwischen mehreren Ausführungsvorgängen der CLI beibehalten wird, z. B. heruntergeladene QL-Pakete und kompilierte Abfragepläne. Wenn dies nicht explizit festgelegt ist, wird dieses Verzeichnis standardmäßig auf ein Verzeichnis mit dem Namen `.codeql` festgelegt, das sich im Startverzeichnis des Benutzer. Es wird erstellt, wenn es noch nicht vorhanden ist.\n```\n\nVerfügbar seit `v2.15.2`."}