Skip to main content

feature.read

Ler registos

Lê as linhas de uma tabela do Outdo para o fluxo.

  • Kind: step
  • Key: feature.read
  • Categoria: source
  • Envelope: mapa (um objeto JSON em config)

Campos

ChaveTipoObrigatórioOmissãoDescriçãoReferência
featureIduuidnão""Tabela de onde se leem as linhas. Vazio = passo por configurar.feature (uuid)
filterslist de mapnão[]Filtros simples por coluna (caminho legado). Quando há filterGroup, é ele que manda.-
filterGroupmapnão-Filtros tipados sobre as linhas a ler. Presente, é a fonte de verdade (o executor converte-os para filters).-
limitintegernão500Teto de linhas lidas (1 a 2000): uma leitura sem teto era uma tabela inteira no envelope.-
orderBymapnão-Ordenação da leitura. Coluna vazia = sem ordenação (o parse nem a grava).-
mergeModeenumerationnão"replace"O que fazer aos registos já no envelope: replace substitui-os, append concatena (é o modo da conciliação).-

filters[]

Cada elemento de filters é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
columnstringsim-Coluna da tabela lida, POR NOME.coluna de featureId (nome)
openumerationnão"eq"Operador da comparação. isEmpty e notEmpty ignoram o valor.-
valuestringnão-Valor da comparação: dado de utilizador. Aceita {{vars.x}}, resolvido em execução. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.expressões {{record.coluna}}

filterGroup

ChaveTipoObrigatórioOmissãoDescriçãoReferência
combinatorenumerationnão"and"Como se combinam as regras do grupo: and exige todas, or basta uma.-
ruleslist de mapnão-As regras do grupo.-
groupslist de mapnão-Subgrupos aninhados, com a mesma forma.-

filterGroup.rules[]

Cada elemento de filterGroup.rules é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
idstringnão-Identificador da regra, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
columnNamestringnão-Coluna da tabela lida, POR NOME.coluna de featureId (nome)
operatorstringnão-Operador da comparação.-
valuestringnão-Valor da comparação: dado de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
secondValuestringnão-Segundo valor, usado pelos operadores de intervalo. Só aparece no JSON quando não é nulo. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-

filterGroup.groups[]

Cada elemento de filterGroup.groups é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
combinatorenumerationnão"and"Como se combinam as regras do subgrupo.-
ruleslist de mapnão-As regras do grupo.-
groupslistnão-Subgrupos de terceiro nível: varrem-se às cegas (uma FieldDecl const não se pode referir a si própria).-

filterGroup.groups[].rules[]

Cada elemento de filterGroup.groups[].rules é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
idstringnão-Identificador da regra, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
columnNamestringnão-Coluna da tabela lida, POR NOME.coluna de featureId (nome)
operatorstringnão-Operador da comparação.-
valuestringnão-Valor da comparação: dado de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
secondValuestringnão-Segundo valor, usado pelos operadores de intervalo. Só aparece no JSON quando não é nulo. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-

orderBy

ChaveTipoObrigatórioOmissãoDescriçãoReferência
columnstringsim-Coluna que ordena a leitura, POR NOME.coluna de featureId (nome)
descbooleannãofalseOrdem descendente.-

Exemplo JSON

{
"featureId": "$f_exemplo",
"filters": [],
"limit": 500,
"mergeMode": "replace"
}

Gerado de definitions.json versão 17f3e0bc59d9. Esta página nasce no build: não se edita à mão.