Vários anos atrás, ao projetar o Cliente Perl (antes de trabalhar para o Couchbase), eu queria uma maneira eficiente de lidar com o processamento dos resultados da visualização à medida que eles chegavam da rede, sem ter que esperar que todas as linhas chegassem para que pudessem ser analisadas como uma matriz JSON adequada. Para resolver esse problema, criei o jsonsl para analisar as linhas JSON de forma incremental, permitindo que os usuários dessa biblioteca recebam dados à medida que eles chegam, apesar de ainda não terem um objeto JSON completo.
O suporte a esse recurso foi implementado até certo ponto nos clientes Python e Perl. Agora, ele finalmente chegou à biblioteca C. Isso acrescenta o benefício da infraestrutura de teste aprimorada encontrada no cliente C, mas também uma API aprimorada que, para os usuários de C, deve ser muito mais simples do que a API HTTP bruta.
Usando a API de visualizações
Aqui está um exemplo de como usá-lo:
A nova funcionalidade de visualização também inclui a capacidade da biblioteca de buscar documentos para os resultados. Basta definir a opção LCB_CMDVIEWQUERY_F_INCLUDE_DOCS no sinalizador cmd.cmdflags campo.
Usando a API N1QL
O N1QL é um recurso experimental a ser adicionado em versões futuras do Couchbase. Ele está disponível como uma visualização para desenvolvedores (https://docs.couchbase.com/developer/n1ql-dp3/n1ql-intro.html). A versão 2.4.7 do cliente fornece algumas novas APIs para interagir com o N1QL.
O uso da API N1QL é muito semelhante ao da API de visualizações. Assim como as exibições, ela é baseada em linhas. No entanto, diferentemente das exibições, a passagem de parâmetros de consulta N1QL é mais abstrata (devido à sua complexidade) e envolve a criação de um objeto "parameters" especial.
Instalação
Basta seguir os procedimentos normais de Instruções de atualização/instalação