Skip to content

API internal catch-all function #11

@ppKrauss

Description

@ppKrauss

Existem duas estratégias para implementar a resolução de parâmetros GET por regular expression:

  1. enviando a string inteira para uma "função catch-all" que faz o dispatch.
    Uma eventual vantagem é o tratamento centralizado de erros; a desvantagem é uma pequena perda de performance.
  2. gerando automaticamente o script NGINX com cada uma das resoluções.
    As vantagens seriam performance e gradualidade (permite automação mais tardia).

A estratégia 1 foi utilizada no primeiro rascunho do projeto. A estratégia 2 parecia ser a melhor, todavia não foi encontrada solução compacta no NGINX para resolver os 3 casos distintos (CSV/JSON/HTM). Tendo isso em vista, voltamos à estratégia inicial.


Problemas:

  1. PostgREST v7 está sem suporte para CSV de JSON array;
  2. funções que retornam tabelas precisariam ser submetidas ao select to_jsonb(t) from f($1) t e depois agregadas como array jsonb. Ainda assim não tem como retornar CSV nas condições atuais.
  3. Problemas clássicos de função retornando setof record, surgem com jsonb_populate_record e jsonb_to_record. Não tem como retornar "tipo record" para o CSV pois não existe tipo genérico.
  4. O NGINX também tem os seus problemas, apesar de menores.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions