Skip to main content
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. Contribuições que pertencem ao repositório do 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
  • Sem reinicialização necessária — as extensões carregam e descarregam em tempo de execução
  • 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: O SDK C++ é mais completo atualmente (agregações, prerun, varargs, variáveis de sistema e de status, keyring, armazenamento de coluna); o SDK Rust cobre extensões apenas de funções e tipos personalizados.

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 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