Paginação de Datasets

Bom dia galera! Tudo certo?

Queria saber se existe algo pronto no Fluig mesmo que faça a paginação dos registros de um dataset, assim como fazemos em querys SQL triviais com LIMIT e OFFSET.

Valeu!!

Sei que pela DatasetFactory.getDataset é possível enviar a constraint sqlLimit (documentação)

Pela API REST /ecm/dataset/search também é possível passar o limite de resultados.

Porém em nenhum deles vi a opção (ao menos não achei na documentação) dizendo que é possível passar o offset. Então teria que ordenar pelo ID, por exemplo, e na próxima chamada solicitar somente os resultados com o ID maior do que o último recebido.

Bom dia @Bruno_Gasparetto !! Valeu pelo retorno, esse lance de ordenar pelo ID e fazer um where não é tão performático quanto o offset, que vai direto na fatia correta de dados, mas a ideia é muito boa mesmo.

Pode ser que tenha um jeito de mandar o offset. Já percebi que o o Fluig tem muita documentação oculta.

Mas a questão da performance do where é meio relativo. Teria que estudar bem isso. Em teoria a pesquisa pelo ID ocorreria em uma chave primária, então seriam menos resultados encontrados e o banco só limitaria em X a quantidade de registros retornados. Já com offset o banco encontra sempre todos os resultados e então precisa correr até o registro Y e retornar X resultados.

Pode ser que o Fluig não tenha implementado isso porque o SQL Server e Oracle não davam suporte, mas agora que ambos possuem LIMIT e OFFSET seria uma ótima a TOTVS acrescentar essa opção aos Datasets.

1 curtida

Valeu a dica @Bruno_Gasparetto !! Como estou construindo querys complexas, acabei optando por enviar o LIMIT e OFFSET pelas constraints quando consulta o dataset via REST, e faço a paginação no front com o Datatables.

1 curtida