Skip to main content

finalización de la base de datos

[Fontanería] Pasos finales en la creación de la base de datos.

¿Quién puede utilizar esta característica?

Las licencias de GitHub CodeQL se otorgan por usuario tras la instalación. Puedes usar CodeQL solo para determinadas tareas según las restricciones de las licencias. Para obtener más información, vea «Acerca de la CLI de CodeQL».

Si tienes una licencia de GitHub Advanced Security, puedes usar CodeQL para el análisis automatizado, la integración continua y la entrega continua. Para obtener más información, vea «Acerca de GitHub Advanced Security».

En este contenido se describe la versión más reciente de CodeQL CLI. Para obtener más información sobre esta versión, consulta https://github.com/github/codeql-cli-binaries/releases.

Para ver detalles de las opciones disponibles para este comando en una versión anterior, ejecuta el comando con la opción --help en el terminal.

Sinopsis

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

Descripción

[Fontanería] Pasos finales en la creación de la base de datos.

Finaliza una base de datos que se creó con codeql database init y, posteriormente, se inicializó con datos de análisis mediante codeql database trace-command. Esto debe ocurrir antes de que se pueda consultar la nueva base de datos.

Opciones

Opciones principales

<database>

[Obligatorio] Ruta de acceso a la base de datos CodeQL en construcción. Debe haberse preparado para la extracción con codeql database init.

Si se proporciona la opción --db-cluster, no es una base de datos propiamente dicha, sino un directorio que contiene bases de datos y todas esas bases de datos se procesarán juntas.

--[no-]db-cluster

Indica que el directorio especificado en la línea de comandos no es una base de datos propiamente dicha, sino un directorio que contiene una o varias bases de datos en construcción. Esas bases de datos se procesarán juntas.

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

[Avanzado] Ruta de acceso a bases de datos CodeQL adicionales en construcción. Estas no se finalizarán, pero los datos de ellas se incluirán en la base de datos finalizada que se va a crear. Se trata de una opción avanzada que puede no tener el efecto deseado en todos los casos. Para más información, consulta la documentación de codeql database import.

Si se proporciona la opción --db-cluster, se espera que sean clústeres de bases de datos en lugar de bases de datos CodeQL individuales.

(Nota: En Windows, el separador de ruta de acceso es ;).

--no-cleanup

[Avanzado] Suprime toda la limpieza de la base de datos después de la finalización. Esto es útil con fines de depuración.

--no-pre-finalize

[Avanzado] Omite cualquier script finalizado previamente especificado por el extractor de CodeQL activo.

--[no-]skip-empty

[Avanzado] Genera una advertencia en lugar de generar un error si una base de datos está vacía porque no se ha visto ningún código fuente durante la compilación. La base de datos vacía se dejará sin finalizar.

Opciones para controlar la operación de importación de TRAP

-S, --dbscheme=<file>

[Avanzado] Invalida la definición de dbscheme detectada automáticamente a la que se supone que se adhieren los archivos TRAP. Normalmente, se toma del extractor de la base de datos.

-j, --threads=<num>

Use estos numerosos subprocesos para la operación de importación.

De manera predeterminada, su valor es 1. Puedes pasar 0 para usar un subproceso por núcleo en la máquina o N para dejar N núcleos sin usar (excepto que aún se usa al menos un subproceso).

-M, --ram=<MB>

Usa esta gran cantidad de memoria para la operación de importación.

Opciones de limpieza de conjuntos de datos de bajo nivel

--max-disk-cache=<MB>

Establece la cantidad máxima de espacio que puede usar la caché del disco para los resultados intermedios de la consulta.

Si este tamaño no está configurado explícitamente, el evaluador intentará usar una cantidad "razonable" de espacio de caché, en función del tamaño del conjunto de datos y de la complejidad de las consultas. Establecer explícitamente un límite mayor que este uso predeterminado permitirá el almacenamiento en caché adicional que puede acelerar las consultas posteriores.

--min-disk-free=<MB>

[Avanzado] Establece la cantidad de espacio libre de destino en el sistema de archivos.

Si no se proporciona --max-disk-cache, el evaluador intentará reducir el uso de la caché del disco si el espacio libre en el sistema de archivos cae por debajo de este valor.

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

[Avanzado] Establece la fracción de destino del espacio libre en el sistema de archivos.

Si no se proporciona --max-disk-cache, el evaluador intentará reducir el uso de la caché del disco si el espacio libre en el sistema de archivos cae por debajo de este porcentaje.

-m, --mode=<mode>

Selecciona cómo recortar la caché de forma agresiva. Entre las opciones se incluyen:

clear: quita toda la caché y recorta hasta el estado de un conjunto de datos recién extraído.

trim (valor predeterminado) : recorta todo excepto los predicados "almacenados en caché" explícitamente.

fit: simplemente asegúrese de que se observan los límites de tamaño definidos para la caché de disco y que se eliminan tantos intermedios como sea necesario.

--cleanup-upgrade-backups

Elimina los directorios de copia de seguridad resultantes de las actualizaciones de la base de datos.

Opciones para comprobar TRAP importado

--[no-]check-undefined-labels

[Avanzado] Notifica errores de etiquetas no definidas.

--[no-]check-unused-labels

[Avanzado] Notifica errores de etiquetas sin usar.

--[no-]check-repeated-labels

[Avanzado] Notifica errores de etiquetas repetidas.

--[no-]check-redefined-labels

[Avanzado] Notifica errores de etiquetas redefinidas.

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

[Avanzado] Notifica errores de etiquetas usadas antes de definirlas.

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

[Avanzado] Sale con un valor distinto de cero si se produce un error durante la importación de capturas.

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

[Avanzado] Construye identificadores de entidad que codifican la ubicación en el archivo TRAP del que proceden. Puede ser útil para la depuración de generadores TRAP, pero ocupa mucho espacio en el conjunto de datos.

--[no-]linkage-aware-import

[Avanzado] Controla si codeql dataset import reconoce la vinculación (valor predeterminado) o no. En los proyectos en los que esta parte de la creación de la base de datos consume demasiada memoria, deshabilitar esta opción puede ayudarles a avanzar a costa de la integridad de la base de datos.

Disponible desde la versión v2.15.3.

Opciones comunes

-h, --help

Muestra este texto de ayuda.

-J=<opt>

[Avanzado] Asigna la opción a la JVM que ejecuta el comando.

(Ten en cuenta que las opciones que contienen espacios no se administrarán correctamente).

-v, --verbose

Aumenta incrementalmente el número de mensajes de progreso impresos.

-q, --quiet

Reduce incrementalmente el número de mensajes de progreso impresos.

--verbosity=<level>

[Avanzado] Establece explícitamente el nivel de detalle en errores, advertencias, progreso, progreso+, progreso++, progreso+++. Invalida -v y -q.

--logdir=<dir>

[Avanzado] Escribe registros detallados en uno o varios archivos del directorio especificado, con nombres generados que incluyen marcas de tiempo y el nombre del subcomando en ejecución.

(Para escribir un archivo de registro con un nombre sobre el que tienes control total, proporciona --log-to-stderr y redirige stderr como quieras).

--common-caches=<dir>

[Avanzado] Controla la ubicación de los datos en caché del disco que se conservarán entre varias ejecuciones de la CLI, como paquetes QL descargados y planes de consulta compilada. Si no se define explícitamente, se toma como predeterminado un directorio denominado .codeql en el directorio principal del usuario, que se creará en caso de que no exista.

Disponible desde la versión v2.15.2.