Skip to main content
Consulte metadados de extensões e o estado do servidor usando as interfaces SQL padrão abaixo.

Views de Sistema

INFORMATION_SCHEMA.EXTENSIONS

Lista todas as extensões do VillageSQL atualmente instaladas.
INSTALL EXTENSION e UNINSTALL EXTENSION são extensões SQL do VillageSQL. Elas não fazem parte da sintaxe padrão do MySQL 8.4.
Colunas conhecidas: Exemplo:
Saída ilustrativa (as strings de versão reais dependem das extensões instaladas):
Os valores de EXTENSION_NAME são em minúsculas, correspondendo ao nome passado para make_extension(). A view reflete o estado atual da instalação. As quatro colunas PENDING_* rastreiam uma mudança de versão agendada com ALTER EXTENSION ... AT RESTART. Consulte Gerenciando Extensões para conhecer o fluxo de trabalho.

INFORMATION_SCHEMA.COLUMNS (Tipos Personalizados)

Colunas que usam tipos personalizados de extensões são visíveis por meio da view padrão INFORMATION_SCHEMA.COLUMNS. Os tipos personalizados aparecem como extension_name.type_name nas colunas DATA_TYPE e COLUMN_TYPE (por exemplo, vsql_complex.COMPLEX). Exemplo:
Saída de exemplo:

INFORMATION_SCHEMA.EXTENSION_REGISTRATION

Expõe a struct de registro VEF em memória de cada extensão carregada como um documento JSON. Use-a para verificar se o servidor analisou corretamente as funções, os tipos e as variáveis de sistema da sua extensão após o INSTALL EXTENSION.

Consultas Comuns

Encontrar Dependências de Extensões

Encontre quais colunas usam os tipos de uma extensão específica antes de desinstalá-la:

Listar Todas as Extensões e Suas Colunas de Tipos Personalizados

Encontrar Tabelas que Usam Tipos de Extensões


Variáveis de Sistema

veb_dir

Somente leitura em tempo de execução. Caminho para o diretório onde o servidor procura arquivos de bundle de extensão .veb. Definida em my.cnf sob [mysqld]; não pode ser alterada sem reiniciar o servidor.
Escopo: Global, somente leitura em tempo de execução. Configure em my.cnf:
Apenas um único diretório é compatível. Consulte Gerenciando Extensões para posicionamento e solução de problemas.

villagesql_server_version

Variável global somente leitura. Retorna a string de versão do VillageSQL compilada no binário do servidor. O formato é {codebase}_{major}.{minor}.{patch}[-prerelease], onde codebase nomeia o fork de origem do qual este build deriva (aqui, mysql-8.4). Isso é diferente de villagesql_schema_version, que informa a versão gravada no catálogo de metadados interno no mesmo formato {codebase}_{version}.
Escopo: Global, somente leitura. Não pode ser definida em tempo de execução.

villagesql_vef_server_protocol

Variável global somente leitura. Retorna a maior versão do protocol VEF compatível com este build do servidor. Os autores de extensões podem comparar esse valor com as constantes de protocol em types.h para determinar quais recursos da ABI estão disponíveis durante o registro.
O que o Protocol V4 adiciona As extensões que negociam VEF_PROTOCOL_4 ou superior ganham acesso ao campo variable_length em vef_type_desc_t. Quando definido como true, o tamanho persistido do tipo é determinado por valor, em vez de ser um único espaço fixo. Os tipos de comprimento variável também devem declarar max_persisted_length como um limite superior. Use o método construtor variable_length_type() em TypeBuilder para definir essa flag (não escreva variable_length diretamente). O campo é lido pelo servidor apenas quando o protocol negociado é VEF_PROTOCOL_4 ou superior. O VEF_PROTOCOL_4 também adiciona o campo max_result_length em vef_func_desc_t. Uma função pode declarar o comprimento máximo (em caracteres) do seu resultado STRING para que um resultado materializado (tabelas temporárias de GROUP BY/DISTINCT, CREATE TABLE ... SELECT, UNION) contenha o valor completo em vez de truncá-lo na largura do argumento. 0 recorre à largura do argumento; aplica-se somente a STRING e é limitado a VEF_MAX_RESULT_LENGTH (16 MiB / 16777216 bytes). Um valor declarado maior é limitado a esse teto. Defina-o com o método construtor max_result_length() em FuncBuilder. O Protocol V4 está em desenvolvimento ativo. As extensões que optarem por ele devem ser compiladas com -DVSQL_USE_DEV_ABI=ON e devem esperar mudanças na ABI antes que ele estabilize. Consulte abi/types.h para as definições completas de vef_type_desc_t e vef_func_desc_t, type_builder.h para variable_length_type(), e func_builder.h para max_result_length(). O valor reflete a constante de tempo de compilação vef_server_protocol_version e não pode ser alterado em tempo de execução.

villagesql_build_info

Variável global somente leitura. Retorna um objeto JSON com metadados sobre como este binário do servidor foi compilado: o commit de origem, o estado da work-tree e o ambiente de compilação.
Escopo: Global, somente leitura. Não pode ser definida em tempo de execução. Um build de release limpo tem is_dirty: false e os três campos de contagem de arquivos em zero. Um build a partir de uma work-tree modificada mostrará contagens diferentes de zero em files_added, files_deleted ou files_modified.

Próximos Passos

Gerenciando Extensões

Monitore e solucione problemas de extensões

Instalando Extensões

Adicione novas extensões

Arquitetura de Extensões

Entenda os detalhes internos

Extensões Disponíveis

Navegue pelo catálogo de extensões