Ir para o conteúdo

Transforme as suas conexões em um bônus de fim de ano com o nosso novo Programa de Indicação de Clientes! Saiba mais

Esta documentação é para a versão 4 e posterior do App Builder, o novo nome do Vinyl. Acesse a documentação do Vinyl aqui.

Mvsql no Jitterbit App Builder

Visão geral

mvSQL é o dialeto de SQL do próprio App Builder. Ele permite que os usuários aprendam e usem um único conjunto de sintaxe e funções, enquanto o App Builder traduz essa sintaxe para expressões apropriadas do fornecedor. O mvSQL pode ser usado para consultar banco de dados relacional, armazenamento, REST, sistemas de arquivo ou qualquer outro tipo de provedor de dados que o App Builder suporte.

Versões do mvSQL

As versões do mvSQL suportadas pelo App Builder são listadas com a versão mais antiga suportada aparecendo primeiro (Versão 1).

Versão 1

A versão mais antiga do legado que o App Builder suporta, a versão 1 mvSQL é ainda mais rigorosa do que permitimos antes de refatorar a gramática e o parser. A maioria dos aplicativos legados do App Builder deve ser executada usando esta versão.

Versão 2

A versão 2 do mvSQL melhora a sintaxe passthrough, suporta a capacidade de fechá-lo e retomar expressões mvSQL regulares e suporta caracteres de escape.

Exemplo

A versão 1 veria isso (no MS SQL Server) ${ [vendor syntax] } || 'my example' como ${ [vendor syntax] || 'my example' } renderização [vendor syntax] || 'my example'.

A versão 2 seria analisada como deveria ser e renderizada como [vendor syntax] + 'my example'. Observe que o concat é apropriado para o fornecedor).

Versão 3

A versão 3 do mvSQL requer que os prefixos de tabela estejam corretos. Até esta versão, se o prefixo de tabela estivesse incorreto, e o App Builder pudesse inferir isso verificando as outras colunas, nós permitiríamos prefixos de tabela incorretos.

Exemplo

Em versões anteriores do mvSQL, usar um alias de tabela que não existe, ou mesmo um que existe, mas que não tem a coluna referenciada, ainda funcionaria, desde que o nome da coluna aparecesse apenas em uma das fontes. Este cenário apresenta um problema quando o mesmo nome de coluna é adicionado a outra fonte e a regra de negócios para de funcionar.

Versão 4

Na versão 4 do mvSQL, as funções de tempo de execução produzem um tipo apropriado, em vez de sempre ser uma string, e valores nulos não são coalescidos em uma string vazia.

Exemplo

Shared(ColumnName, numeric)

  • Antes da versão 4, o App Builder emitia '0' se a coluna não foi fornecida, ou '1' se fosse (observe que é renderizado como uma string, assumindo que o valor compartilhado aqui é 1 claro)
  • A partir da versão 4, o App Builder agora gera null se não foi fornecido, e 1(sem as aspas), também parametrizamos se o fornecedor oferece suporte (@p0), pois isso pode alavancar melhor desempenho do fornecedor.
  • Isso também significa que é mais fácil coalescer o valor, antes se você quisesse alterar o valor se ele não fosse fornecido, você precisaria de algo como IIF(Shared(ColumnName) = '', -1, Shared(ColumnName, numeric)), agora você pode usar ISNULL(Shared(ColumnName, numeric), -1)
  • Novas regras são criadas usando a versão mais alta disponível (versão 4), mas para evitar quebrar regras legadas, nós as mantivemos como estavam. Se forem feitas alterações em uma regra que não será afetada por isso (principalmente regras sem funções de tempo de execução), o App Builder atualizará automaticamente a versão do mvSQL.

Versão 5

Na versão 5, o mvSQL trata qualquer passagem como GROUP-able quando faz parte de uma consultar agregada.

Para indicar que uma expressão é um agregado, chame-a com o Expression() função.

Exemplo

Expression(${Count(1)})

Recursos