> ## Documentation Index
> Fetch the complete documentation index at: https://villagesql.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Extensões ou Plugins e Componentes

> Quando criar uma extensão VEF em vez de usar as interfaces nativas de plugin ou componente do MySQL.

O VillageSQL é um fork de rastreamento do MySQL e um substituto direto. As interfaces de plugin e componente do MySQL funcionam com o VillageSQL exatamente como funcionam com o MySQL. O VillageSQL fornece o VillageSQL Extension Framework (VEF). Para adicionar novas funcionalidades (como funções SQL personalizadas, tipos personalizados, integrações, etc.), as extensões VEF são o modelo certo.

## O Que Vai Onde

Se você está criando algo novo, crie uma extensão VEF no seu próprio repositório. Plugins e componentes funcionam, mas o VEF é o modelo certo — veja [Por Que Extensões em vez de Plugins e Componentes](#why-extensions-instead-of-plugins-and-components).

Contribuições que pertencem ao repositório do VillageSQL Server:

| | |
| - | - |
| Melhorias no próprio VEF (novos tipos de hook, capabilities do SDK) | PR para o [repositório do servidor](https://github.com/villagesql/villagesql-server) |
| Correções de bugs do servidor | Issue ou PR no [repositório do servidor](https://github.com/villagesql/villagesql-server) |

## Por Que Extensões em vez de Plugins e Componentes

Plugins e componentes do MySQL funcionam no VillageSQL. As extensões VEF oferecem mais:

* **Tipos personalizados** — defina novos tipos de coluna, algo que plugins e UDFs não conseguem fazer
* **Empacotamento** — distribuídas como arquivos `.veb`, instaladas com `INSTALL EXTENSION`
* **Versionamento** — declarado no manifesto da extensão, imposto pelo servidor

## Iniciando uma Nova Extensão

O VEF tem dois SDKs, ambos registrando através do mesmo framework:

* **C++** — o [vsql-extension-template](https://github.com/villagesql/vsql-extension-template) é o ponto de partida. Percorra [Criando Extensões em C++](https://villagesql.com/docs/pt-BR/extensions/build/create.md).
* **Rust** — o [vsql-extension-template-rust](https://github.com/villagesql/vsql-extension-template-rust) é o ponto de partida. Percorra [Criando Extensões em Rust](https://villagesql.com/docs/pt-BR/extensions/build/rust-sdk.md).

## Se o VEF Não Oferecer Suporte ao Que Você Precisa

O VEF ainda está crescendo. Se você precisa de um hook ou capability que ainda não existe:

* **Abra uma issue** no [repositório do servidor](https://github.com/villagesql/villagesql-server/issues) descrevendo o que você precisa
* **Vote em uma issue existente** se o pedido já estiver lá
* **Envie um PR** adicionando o hook ao VEF — melhorias no framework são bem-vindas no repositório do servidor


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.