cmu-delphi/delphi-epidata

Improve handling of queries beyond the row limit

Open

#1,020 opened on Nov 1, 2022

 (1 comment) (0 reactions) (0 assignees)Python (67 forks)auto 404
code healthhelp wantedrefactor

Repository metrics

Stars
 (104 stars)
PR merge metrics
 (PR metrics pending)

Description

Previously, we would process a full query until it hit the limit and then just return nothing to the user

https://github.com/cmu-delphi/delphi-epidata/blob/9844600b0de41f7d8e93bfb7d7dff7e0740b0792/src/server/_printer.py#L90-L99

Then I added a LIMIT clause, but in an unintuitive place

https://github.com/cmu-delphi/delphi-epidata/blob/9844600b0de41f7d8e93bfb7d7dff7e0740b0792/src/server/_query.py#L238-L248

  • The LIMIT addition should probably be in the QueryBuilder object.
  • The row counting might be obsolete since the LIMIT query should handle that (cc @melange396 to confirm). Update: the row counting in the printer is needed when dealing with multiple SQL queries; interestingly, these are only used in non-covidcast endpoints
  • run_query probably doesn't need the p: APrinter then.

Contributor guide